接收的命令总是有几个“3F”穿插在正确的命令之中, 串口的一系列设置都是按照协议规定的,程序也没查出什么问题来,因为其他协议的通讯都没有问题,只有这个协议不行。使用串口调试助手测试,接收的命令都是对的,现在没办法了。
例子:
发 送:AA AA AA AA AA AA AA 10 05 00 94 56
正确接收:02 00 00 00 00 42 41 10 85 00 71 91
现在接收的错误命令:56 3F 3F 02 00 00 00 00 42 41 3F 3F 10 85 00
或者
3F 3F 02 00 00 00 00 42 41 3F 3F 10 85 00 71
总是3F 3F在这里干扰。
------解决思路----------------------
你用我5楼给你的代码测试过了吗
先确定是SerialPort的问题还是你代码写的有问题
我给你的代码里面用到了两种串口类,一个是SerialPort,还有个windows API,总该有一个是好用的吧
------解决思路----------------------
你这个现象和我当时遇到的太像了,不是每条指令都出错,也不是所有调试工具都能正常接收。反正当时我们最后的解决办法就是把serialPort的那两个dts,rts什么的都打开了,然后单片机延迟5毫秒返回数据,就一切正常了。