各位先进好:
目前是新手在写一个单芯片,使用两个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那里送出去,此时芯片就都不会当掉,
请教这是什么原因?
谢谢大家