现在发现上电复位后过10到30小时,MCU必然看门狗复位,且LCD显示3,即在运行完子程序B之后就出现看门狗复位?程序B返回后PC跑飞了??debug了2天毫无收获,求各位大大指教,谢谢!相关程序大致结构如下:
整个结构为一个状态机,现程序一直在运行状态FuncA,FuncA中除了休眠1秒时间外,其它程序平时占用时间约为1-10ms。
_no_init INT8U gu8_test;
void FuncB(INT32U u32_dgt, INT8U_P pu8_bcd)
{
'''
'''
gu8_test = 3;
}
void FuncA(void)
{
INT32U u32_dgt;
INT8U au8_buf[7];
...
gu8_test = 1;
FuncB(u32_dgt, (INT8U_P)au8_buf);
gu8_test = 2;
...
MCU_sleep_s(1);
}
int main(void)
{
若判断得为看门狗复位,则LCD显示gu8_test;否则程序正常运行。
} |