我最近做一个modbus的软件,发现SerialPort类在发送间隔小时会发生数据粘连的情况。
我是用DataReceived事件接收数据,使用Write函数发送数据,使用Timer控件循环发送数据。
不知道大家有没有发现这个问题, 如果没有发现的现在可以试试。
modbus poll 和modbus slave软件可以在这里下载 http://www.kuaipan.cn/file/id_101026220812606.htm?source=1
原因可能是,使用较高层的组件都存在着收发缓冲区的缘故吧,数据的收发并不是立即进行的。
解决办法:调用WindowsAPI接口做串口的创建、收发、关闭等操作。