今天做了实验,发现在单板电脑开启时,COM1口会发27Byte的无效数据,会让Manager进入某种异常。
抓取这27Byte的收据,在Manager正常工作时,用串口助手发下去,也会触发异常,说明确实是这些无效数据起了作用。
进一步实验发现,与无效数据的内如无关,至于字节数有关,超过10Byte就会触发异常。
分析Manager的一帧结构为7E*****7E,在没有收完一帧数据的时候,就一直将数据存放在BUFFER内部,而不处理,但BUFFER并不是很大,所以无效数据字节多了就会出现溢出,引起异常。
为验证这一想法,通过串口助手向Manager连续发送无效数据,检测到Manager程序跑飞了,看门狗起了作用,说明凌特在串口接收上存在问题,没有预防BUFFER溢出的机制。
现在将测试报告提交凌特了,就看对方怎么解释了
|