|
发表于 2018-4-19 12:40:59
|
显示全部楼层
本帖最后由 shouzama 于 2018-4-19 12:45 编辑
嗯,可能上次打了系統無法識別的字元,所以文章被腰斬了(不完整)
的確,在階段性工作完成後再暫停,對於恢復工作會是比較好的方式,
那就簡單了,您接一個按壓開關(不必自鎖)到硬體中斷輸入,當開關按下
時讓中斷處理函式去設立或清除一個旗標(ON→OFF,OFF→ON 轉態),
然後主控制程式在每個階段性工作完成後進行旗標判定,如果旗標 ON
(表示有暫停要求),就一直循環判讀直到旗標 OFF 再繼續下一個工作
//1.自行設定中斷服務常式
void wake_ISR()
//設定中斷服務常式
{
//當中斷觸發時,您想進行什麼處理(例如設立/清除旗標)
//因為中斷服務常式不能使用 delay 等指令,接點彈跳消除要改用硬體方式進行
}
//2.在 setup() 宣告中斷服務常式
void setup()
{
//外部中斷服務函式 0 宣告(中斷 0 由 pin 2 腳位觸發)
attachInterrupt( 0, wake_ISR, FALLING); //服務常式為wake_ISR,接腳信號下降時觸發(共有 FALLING、RISING、CHANGE、LOW 四種)
}
大致上是這樣囉
|
|