|
最近项目升级系采用FreeRTOS系统,发现RS485中断接收的数据有异常,要么多一个数据要么少一个数据;以前用UCOSII的时候并没有出现此问题;
分析:难道是RS485接收数据有问题,或者是没配置好?
验证:将所有的任务关闭,单纯的启动RS485任务,然后用PC端不断的发送数据,看RS485的数据是否完整;经过测试是没有问题点;
分析:难道是其他的任务对其有影响?或者是任务中有进入临界断的时候;正好来中断,从而丢失数据?
此外还发现一个现象:如果从机在间隔100ms的时候,再次发送指令,RS485接收会多一个数据;例如发送数据为;0x55,0x01,0x00,0x01,0xff;但是接收
的时候会出现6个数据;0x55,0x55,0x01,0x00,0x01,0xff;
通过现象猜测:中断再接收到第一个命令的时候0X55,这个时候如果在来第二个命令,是否会打断第一个命令的数据;理论上是延时100ms;难道加了freeRTOS,rs485中断响应变慢了?
本系统中只有一个RS485中断;理论上行不通;
求大神帮忙分析下是哪个地方的问题点?
|
|