pande
LEGO EV3介面抓Bug
pande
pande
進度整理
2017-2-21 [pande] (日常) 睡9個小時,終於補眠了
兩個問題
pande
上次上課借了EV3主機回來
2017-3-24 [pande] (樂高) 太極生陰陽 下午畫LDD「SPM機械手臂...
第一個問題 loop count
2017-3-27 [pande] LEGO EV3主機神秘試驗(?)
pande
這次是第二個問題
是有關迴圈 "interrupt" 機制的問題
pande
為什麼針對03迴圈的interrupt,可以把執行緒外面的02迴圈也中斷跳出?

interrupt有什麼應該知道的運作機制,是我不知道的嗎???
pande
做了一個試驗程式

正常開啟,主機面板亮黃燈
按下touch sensor 超過1秒,主機面板亮紅燈,然後說"good job"
pande
正常預期是03迴圈會被中斷,然後執行02迴圈裡面的"等1秒"
如果interrupt可以中斷02迴圈,執行緒將會跳出02迴圈,然後開始執行switch的另外一邊,也就是「主機面板亮紅燈,然後說"good job"」
pande
實測的結果是

針對03迴圈的interrupt,沒有辦法中斷並跳出02迴圈
pande
那就奇了,咕咕鐘裡面的interrupt是怎麼回事? 怎麼那麼神??
不但跳出03,連02都一起中斷了是怎樣???
pande
於是我把咕咕鐘原程式裡面的那一段
直接複製貼上到試驗程式裡面

讓touch sensor來中斷02與03… 耶?
02與03… 咦? 02咧? 我眼花??
pande
回去看咕咕鐘
真的是03、03、02三層啊
怎麼貼到這邊就變成03、03、03,全部都是03了??
pande
難道是顯示的問題…? orz (實際數值是03,但錯誤顯示成02?
pande
回去看看咕咕鐘

乾,還真的咧orzz 那不就是介面的bug了嗎
pande
原來只是顯示的bug、跟本不是interrupt我的認知有誤嗎=.=
無心插柳,幫LabVIEW除蟲了嗎
pande
害得我好開心又可以給自己精進了說
pande
那麼,這個bug的機制大概是怎樣呢?
pande
開一個小程式模擬試試看

switch裡面的多重迴圈,最後一個編輯的最外層迴圈編號,會影響前一次編輯的其他switch分支的最外層迴圈編號的顯示,但並不會改動實際數值(不影響運作)
pande
但會造成像我這種無聊人士的困擾
pande
好啦~
咕咕鐘程式,完全攻略
載入新的回覆