这两天遇到一个奇怪的现象,用的是美信的6543芯片,在串口通讯调试过程中,设置串口模式是带奇偶校验位,用“大傻串口调试软件.exe”通讯没有问题,但是用“modbuspoll。exe”就不能在偶校验下正常通讯。如果芯片设置不带奇偶校验位,“modbuspoll。exe”测试软件通讯没有问题。这个问题是不是很奇怪。
“modbuspoll。exe”同其他的芯片在奇偶校验位下通讯正常,谁能提供些思路,想法,这算硬件问题?还是软件问题??
检查软件设置。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
感觉是上位机软件问题吧,有些串口调试软件,是会出现设置不设置奇偶校验都一样的状况。
有条件的话,还是接上示波器看看吧,示波器上看到的才是最真实的。
仔细分析,下位机的实际状况,波形;上位机设置。问题不难的
感谢楼上几位的答复。现在问题是这样,单片机收到数据,解析正确,也发出报文,用“大傻串口调试软件.exe”可以看到发送的报文也是期望的报文。但是“modbuspoll。exe”软件还是提示“read error:Parity error”和“write error”,,不知道是发送哪里哪里出错?哪里需要延时。
This is an error reported by Windows. Parity and framing errors
左边是串口监控器,为了保证485控制可靠,在测试中专门在报文前后各多发送一个字节。用modbuspoll软件测试还是有问题。彻底不会了,晕了
把要发送的数据赋累加器,P代表1的个数,1为奇数个1,0位偶数个1, 根据奇偶检验给TB赋值,然后再把累加器的数赋给发送寄存器。就可以了。
大哥,我也遇到相同的问题了,请问是哪边的奇偶校验位有问题?怎么修改的,能说一下吗