做了一个简单的系统,STM32处理器采集信息,通过RS485进行数据通信,系统作为RS485从机使用,遵从MODBUS协议。
测试中,主机周期不断发送命令和从机通信,发现98%左右成功回复信息,2%左右从机没有回复。后来发现时从机接收处理问题,偶尔出现一个帧中前几个字节错误情况。
系统设计时采用USART发送DMA方式,接收RXIE中断+超时。
修改设计方案:发送仍然用DMA方式,接收数据采用USART IDLE中断+DMA方式。
测试效果近乎100%成功。
做了一个简单的系统,STM32处理器采集信息,通过RS485进行数据通信,系统作为RS485从机使用,遵从MODBUS协议。
测试中,主机周期不断发送命令和从机通信,发现98%左右成功回复信息,2%左右从机没有回复。后来发现时从机接收处理问题,偶尔出现一个帧中前几个字节错误情况。
系统设计时采用USART发送DMA方式,接收RXIE中断+超时。
修改设计方案:发送仍然用DMA方式,接收数据采用USART IDLE中断+DMA方式。
测试效果近乎100%成功。