|
|
发表于 2014-5-6 16:12:16
|
显示全部楼层
本帖最后由 Super169 于 2014-5-6 16:14 编辑
那嘗試在 loop 之內加入類似的測試.
比如你原本的程式, 在 loop 的末端是有 serial.print 的, 而你之前說 串口完全沒有資料, 即程式不能到達 loop 的末端了, 就是在中間卡住了.
可以卡住的地方, 如不是硬件問題, 就可能是 while loop 了.
程式中主要有三個 while loop:
while(!exit)
while( digitalRead(IR_LED) == LOW )
while( digitalRead(IR_LED) == HIGH ) {... break; }
這裡有點不合理, 必須要出現 IR_LED 先 LOW 再 HIGH, 如果 IR_LED 一直是 LOW, 又或 一直是 HIGH 而不能觸發 break, 就會卡死了.
相信在這裡卡死的機會非常高 (我沒使用過 IR, 不知是否正常), 加入 debug code 測試一下吧.
|
|