[問題] 單晶片UART當掉

作者: Haha10101 (水啦~)   2015-03-28 07:09:51
各位先進好:
目前是新手在寫一個單晶片,使用兩個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那裏送出去,此時晶片就都不會當掉,
請教這是什麼原因?
謝謝大家
作者: alongalone (沿著孤單的路)   2015-03-28 16:53:00
有沒有可能rf解太久拖到sensor那邊, 這看起來沒並行
作者: sprian   2015-04-10 16:07:00
沒有太多線索,不過最常發生的是中斷做太多事了,中斷拖太長,其他中斷一直進來,沒處理好,迅速葛屁了

Links booklink

Contact Us: admin [ a t ] ucptt.com