[問題] 單晶片UART當掉

看板C_and_CPP (C/C++)作者 (水啦~)時間11年前 (2015/03/28 07:09), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
各位先進好: 目前是新手在寫一個單晶片,使用兩個UART,一個負責解sensor資料,一個負責通訊。 負責通訊UART的TX會定時每30秒往外傳訊息,除此之外當他的RX收到命令時,他的TX也 會往外傳訊息出來,有點像一問一答的方式兼顧30秒定時回答的功能。 但不知道什麼原因,每當一問一答經過一段時間,單晶片就會當掉,再也沒有反應。 如果純定時TX送出來是正常的,只有一問一答會當掉 程式架構大概如下: void main() { while(true) { if(DecodeSensor()) { if(Timer==30000) { SendData(); Timer = 0;} } if(DecodeRF()) SendData(); //SendData為92 bytes. } 以上尤其在一問一答執行到一半常常整個晶片就當掉 當我改成: void main() { while(true) { if(DecodeSensor()) { if(Timer==30000) { SendData(); Timer = 0;} } if(DecodeRF()) Timer = 28000; } 也就是RF解成功後過兩秒由DecodeSensor那裏送出去,此時晶片就都不會當掉, 請教這是什麼原因? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.161.85.165 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1427497794.A.0EF.html

03/28 16:53, , 1F
有沒有可能rf解太久拖到sensor那邊, 這看起來沒並行
03/28 16:53, 1F

04/10 16:07, , 2F
沒有太多線索,不過最常發生的是中斷做太多事了,中斷拖
04/10 16:07, 2F

04/10 16:07, , 3F
太長,其他中斷一直進來,沒處理好,迅速葛屁了
04/10 16:07, 3F
文章代碼(AID): #1L5UD23l (C_and_CPP)
文章代碼(AID): #1L5UD23l (C_and_CPP)