使用事件結構需要注意的事項:
對於超時時間的使用
結論:
1. 超時時間等於事件結構等待一次事件的時間,在超時時間內沒有等到事件則執行[超時]事件;
2. 如果在超時時間內等到了一次事件,便處理事件對應的程序而不執行[超時]事件;
3. 事件對應程序執行結束便等待下次事件
4. 當一個事件正在處理中時,程序接受其它事件,並按事件隊列執行*****(具體現象就是,在一個事件正在執行的時候,無法立刻響應其他事件,所以需要使用中斷結構)
5. 事件不分優先級,只按事件隊列,處理完一個事件再處理下一個事件
6. 對於CAN接收幀產生的中斷,必須在處理完停止前的全部中斷再響應停止
7.解決方案有a.消除事件隊列,不讓隊列過長;B.清除CAN緩存,不讓其產生事件;C.加快程序處理速度,不讓隊列過長。C方案應該最可取了。
不需要使用中斷結構,我發現了原因:
所以如果程序事件功能不多,又需要定時執行一段代碼,可以考慮用此方式來完成;如果程序操作頻繁,則不建議用此事件來定時執行代碼。
添加事件方法學會了,有的人在編程時發現點擊按鈕下去后,發現前面無法響應其他事件了,似乎前面被鎖住了一樣,這是為什么呢?我們知道添加事件是會有個事件編輯框,上面已經截圖了,那你有沒有注意在框體下邊有個
選項呢
<ignore_js_op>
這個選項的意思是:如果本事件框沒有執行完畢前鎖定前面板。看到這你就應該明白上述問題所在了吧,所以有的時候我們果斷去掉這個選項。OK,問題解決了。真的神奇的不行~
添加事件方法學會了,有的人在編程時發現點擊按鈕下去后,發現前面無法響應其他事件了,似乎前面被鎖住了一樣,這是為什么呢?我們知道添加事件是會有個事件編輯框,上面已經截圖了,那你有沒有注意在框體下邊有個
選項呢
<ignore_js_op>
這個選項的意思是:如果本事件框沒有執行完畢前鎖定前面板。看到這你就應該明白上述問題所在了吧,所以有的時候我們果斷去掉這個選項。OK,問題解決了。真的神奇的不行~
