成人网站入口,五月丁香久久,亚洲精品99,亚洲欧美精品中文幕无码三区,丁香五月激情网,国产一区二区不卡视频,日韩精品网站,国产精品999

深圳市瑞申電子有限公司

深圳市瑞申電子有限公司是一家10年專業(yè)大功率電感生產(chǎn)加工廠商,主要以大功率,大電流、扁平線圈電感、平面變壓器設(shè)計、生產(chǎn)、銷售工廠。設(shè)計、繞線、組裝、檢測、包裝、出貨等全制程的工藝流程!擁有完整、科學的質(zhì)量管理體系。專業(yè)技術(shù)團隊10人,我們的誠信、實力和產(chǎn)品質(zhì)量獲得業(yè)界的認可。歡迎各界朋友蒞臨參觀、指導和業(yè)務洽談。 ...

按兩次才能停下

時間:2020-10-20 06:02:34 點擊:
最近看到去了一篇博客,親手試驗了一遍,對其中一個不甚理解,翻來覆去想好了好久,不得其解,只好求助于各位高手,博客地址如下:http://blog.csdn.net/ap0108220/article/details/16842267,其中那個“為什么在WHILE循環(huán)中使用事件結(jié)構(gòu)時,停止按鈕需要按兩次才能結(jié)束?”很難想明白,先求助于各位(自己加了一個顯示,方面跟蹤事件結(jié)構(gòu))。


wangyi31 發(fā)表于 2016-12-21 14:15
首先謝謝您的回答,還有些疑問,比如:1:我按下停止按鈕后,觸發(fā)了事件,此時labview檢測到了停止按鈕數(shù)值的變化,處理了“加1”事件,此時labview是還沒有讀取控件的值是嗎。2:我注意到,停止按鈕按下一次后,他又自動彈回了,應該是labview已經(jīng)讀取控件的值了,此時值為1啊,為什么沒有停止,就是要按第二次始終不明 ...

執(zhí)行過程如下:
1.第一次進入循環(huán),按下按鈕之前程序就已經(jīng)讀取了按鈕的值,為假。
2.第一次按下按鈕之后,觸發(fā)事件結(jié)構(gòu),執(zhí)行完事件結(jié)構(gòu)以后,本次循環(huán)就結(jié)束了,第1步時已經(jīng)說了,這時候讀到的按鈕值是假,所以循環(huán)并不會停止,而是會開始第二次循環(huán)。
3.進入第二次循環(huán):程序首先讀取按鈕的值,因為前面已經(jīng)按過一次按鈕了,所以這時候讀到的按鈕值是“真”(這里有一個知識點,是關(guān)于按鈕的機械動作的,默認從while循環(huán)紅點處創(chuàng)建的這種按鈕是觸發(fā)型的,帶有鎖存功能,只要按過一次按鈕,labview下次讀到的值就是“真”,讀到這個“真”值以后,在下次再按下按鈕以前讀到的值都是“假”,這樣可以防止labview漏掉真值的讀取,注意并不是所有的布爾都是這樣的,只有觸發(fā)型的按鈕才有這個特性)。接上面的繼續(xù)說,讀到“真”值以后,循環(huán)不會馬上結(jié)束,因為事件結(jié)構(gòu)還在等待中,這時候只要讓事件結(jié)構(gòu)執(zhí)行完循環(huán)就可以結(jié)束了,也就是說如果你還有另一個按鈕也做了事件的話,只要你按一下那個按鈕觸發(fā)事件,程序就會結(jié)束了,不一定非得按停止按鈕。
建議采用如下方式來停止循環(huán),事件結(jié)構(gòu)的超時最好還是加上,你可以在超時分支里做些別的事情。


你的stop按鈕應選擇如圖所示的??switch??until released,就可以實現(xiàn)按一下就停止程序


krize 發(fā)表于 2016-12-21 11:21
執(zhí)行過程如下:
1.第一次進入循環(huán),按下按鈕之前程序就已經(jīng)讀取了按鈕的值,為假。
2.第一次按下按鈕之后,觸發(fā)事件結(jié)構(gòu),執(zhí)行完事件結(jié)構(gòu)以后,本次循環(huán)就結(jié)束了,第1步時已經(jīng)說了,這時候讀到的按鈕值是假,所以循環(huán)并不會停止,而是會開始第二次循環(huán)。

其實是執(zhí)行的先后順序的問題,循環(huán)一進入,由于事件結(jié)構(gòu)處于等待,而停止按鈕已經(jīng)賦值給循環(huán)端子(因為程序一運行就賦值了,你再按停止按鈕才執(zhí)行事件結(jié)構(gòu)),所以看似同時執(zhí)行卻是先執(zhí)行停止按鈕的賦值,再等你按了停止按鈕后才觸發(fā)事件結(jié)構(gòu),所以第一次按停止按鈕只是觸發(fā)事件結(jié)構(gòu)而已,并非把真值賦給循環(huán)端子。第二次進入循環(huán)端子才把停止賦值,但是事件結(jié)構(gòu)未響應無法退出循環(huán),所以這時你要再次按停止按鈕(這次純粹是讓事件結(jié)構(gòu)響應)。比較好的理解就是把停止按鈕放到停止事件里,這樣才是嚴格的停止與事件同時發(fā)生,循環(huán)立刻停止(這里可以觀察循環(huán)次數(shù)為0代表只循環(huán)一次)


本帖最后由 隔壁老wang 于 2016-12-21 15:34 編輯

這個值得深究


krize 發(fā)表于 2016-12-21 14:53
1.不是,此時labview已經(jīng)讀取過一次控件的值了,確切的說在你還沒按按鈕的時候就已經(jīng)讀取過控件值了,讀到的值是“假”。
2.自動彈回是這個按鈕的機械動作,并不代表labview已經(jīng)讀取了控件值。按鈕按下去再自動彈回的時候labview會把值“真”鎖存起來了,以保證下次程序里讀取按鈕值的時候能讀到真值,但這跟你的程序有沒 ...

wangyi31 發(fā)表于 2016-12-21 14:15
首先謝謝您的回答,還有些疑問,比如:1:我按下停止按鈕后,觸發(fā)了事件,此時labview檢測到了停止按鈕數(shù)值的變化,處理了“加1”事件,此時labview是還沒有讀取控件的值是嗎。2:我注意到,停止按鈕按下一次后,他又自動彈回了,應該是labview已經(jīng)讀取控件的值了,此時值為1啊,為什么沒有停止,就是要按第二次始終不明 ...

wangyi31 發(fā)表于 2016-12-21 14:15
首先謝謝您的回答,還有些疑問,比如:1:我按下停止按鈕后,觸發(fā)了事件,此時labview檢測到了停止按鈕數(shù)值的變化,處理了“加1”事件,此時labview是還沒有讀取控件的值是嗎。2:我注意到,停止按鈕按下一次后,他又自動彈回了,應該是labview已經(jīng)讀取控件的值了,此時值為1啊,為什么沒有停止,就是要按第二次始終不明 ...

靜夜style 發(fā)表于 2016-12-21 16:54
其實labview有個強大的功能就是看數(shù)據(jù)流動,你把程序框圖上的小燈泡打開,運行,就可以直觀的看到數(shù)據(jù)流動以及執(zhí)行的先后順序了,另,沙發(fā)說的很明白

靜夜style 發(fā)表于 2016-12-21 16:54
其實labview有個強大的功能就是看數(shù)據(jù)流動,你把程序框圖上的小燈泡打開,運行,就可以直觀的看到數(shù)據(jù)流動以及執(zhí)行的先后順序了,另,沙發(fā)說的很明白

跟著樓主一起學習一下??


wangyi31 發(fā)表于 2016-12-21 17:58
謝謝您的耐心回到,我按照您的說法做了一下,我按下第一次的時候,看了一下,過程是這樣的:首先事件結(jié)構(gòu)由于按鍵的值改變,觸發(fā)了事件, 顯示值加1 ,labview讀取了按鍵的值,為“T”,我的疑問既然讀取的值為“T“了,為什么循環(huán)還要進行下去,是要將本次循環(huán)進行完畢算結(jié)束嗎? ...

本帖最后由 靜夜style 于 2016-12-22 16:09 編輯

wangyi31 發(fā)表于 2016-12-21 17:58
謝謝您的耐心回到,我按照您的說法做了一下,我按下第一次的時候,看了一下,過程是這樣的:首先事件結(jié)構(gòu)由于按鍵的值改變,觸發(fā)了事件, 顯示值加1 ,labview讀取了按鍵的值,為“T”,我的疑問既然讀取的值為“T“了,為什么循環(huán)還要進行下去,是要將本次循環(huán)進行完畢算結(jié)束嗎? ...

補充一點,因為按鈕沒有按下,所以第一次讀到的是F值,(”多線程“導致按鈕的值先事件結(jié)構(gòu)被送到結(jié)束條件,所以第一次循環(huán)讀取按鈕值已經(jīng)結(jié)束,所以你按按鈕也不能結(jié)束循環(huán),對,就是時序問題,你只要想辦法讓讀取按鈕的值在觸發(fā)事件結(jié)構(gòu)之后就不會導致這樣的現(xiàn)象出現(xiàn),所以如2樓所言,把按鈕放到事件結(jié)構(gòu)里面就好了)


有個好玩的地方在于如果你把按鈕的值初始設(shè)置成T,那么你按下按鈕之后程序不會像你所想的一樣進入第二次循環(huán),而是會直接結(jié)束,這樣一來你應該就懂了吧


靜夜style 發(fā)表于 2016-12-22 16:13
有個好玩的地方在于如果你把按鈕的值初始設(shè)置成T,那么你按下按鈕之后程序不會像你所想的一樣進入第二次循環(huán),而是會直接結(jié)束,這樣一來你應該就懂了吧

補充一點,因為按鈕沒有按下,所以第一次讀到的是F值,

大功率電感廠家 |大電流電感工廠

  • 一種嵌入式語音識別模塊的設(shè)計與實現(xiàn)
    服務機器人以服務為目的,因此人們需要一種更方便、更自然、更加人性化的方式與機器人交互,而不再滿足于復雜的鍵盤和按鈕操作。基于聽覺的人機交互是該領(lǐng)域的一個重要發(fā)展方向。目前主流的語音識別技術(shù)是基于統(tǒng)計模
  • 基于單片機AT89C2051的電子鐘設(shè)計方案
    電路見圖1.一片20引腳的單片機AT89C2051為電子鐘主體,其顯示數(shù)據(jù)從P1口分時輸出,P3.0~3.3則輸出對應的位選通信號。由于LED數(shù)碼管點亮時耗電較大,故使用了四只PNP型晶體管VT1~
  • 車載數(shù)碼相機充電適配器設(shè)計
    附圖為數(shù)碼相機充電適配器電路。電路采用一對晶體管差分放大器和一級電流放大器.分別輸出恒定的電壓和要求的電流。晶體管T1和T2構(gòu)成一對差分放大器.T1基極電壓由穩(wěn)壓二極管ZD1穩(wěn)定在3V.T2基極電壓則
  • 大功率電感

    南康市| 嘉荫县| 仙居县| 泰和县| 文成县| 手游| 雅江县| 内乡县| 五大连池市| 华容县| 阳信县| 柳林县| 雅安市| 浑源县| 江北区| 集贤县| 平乐县| 手游| 东平县| 岢岚县| 柳江县| 无极县| 海南省| 鄂尔多斯市| 南部县| 土默特左旗| 三穗县| 大名县| 巢湖市| 上思县| 民丰县| 全椒县| 晋宁县| 教育| 壶关县| 德兴市| 三台县| 思茅市| 太谷县| 太原市| 伊金霍洛旗|