使用的F28027,最近调试发现 使用串口助手发送请求给CPU,CPU会按照程序的协议返回的,就是我串口助手是能接收到数据的;
但是大概过了十几个小时(不掉电),然后再发送,就收不到数据了;
如果重新上电,就可以;
已经验证了 程序没有死机,没有泡飞;
我定时器中断和主程序都没有死。
谢谢 指点
Jay:
你好。串口是否使用了FIFO来发送和接收?可能是由于FIFO溢出导致的。接收数据的读取是中断操作还是查询方式,请确认串口中断是否正常。
使用的F28027,最近调试发现 使用串口助手发送请求给CPU,CPU会按照程序的协议返回的,就是我串口助手是能接收到数据的;
但是大概过了十几个小时(不掉电),然后再发送,就收不到数据了;
如果重新上电,就可以;
已经验证了 程序没有死机,没有泡飞;
我定时器中断和主程序都没有死。
谢谢 指点
ge sw:
回复 Jay:
我现在把SCI的初始化放到主函数了,就是让运行一段时间就初始化下SCI,这样问题就解决了,
我之前是开机上电初始化SCI,后来就没有了,估计是时间久了,串口的初始化的东西丢失了。
使用的F28027,最近调试发现 使用串口助手发送请求给CPU,CPU会按照程序的协议返回的,就是我串口助手是能接收到数据的;
但是大概过了十几个小时(不掉电),然后再发送,就收不到数据了;
如果重新上电,就可以;
已经验证了 程序没有死机,没有泡飞;
我定时器中断和主程序都没有死。
谢谢 指点
Jay:
回复 ge sw:
建议找一下原因。由于主程序不会跑飞,可以在主程序中检测SCI的工作状态,一旦发现SCI工作异常后,主程序可以把那个时候的SCI所有寄存器存下来,用于分析引起SCI工作异常的原因。
不断初始化SCI也许有效,但更像是一种权宜之计。