匪夷所思的51和485设备通信的问题
目的是51和一个485的设备通信。51发送一个8byte的命令过去,设备返回一个9byte的数据.电脑串口,接232-485转接器,发送命令给设备,设备返回数据正常。
51通过串口,发送命令给电脑串口,电脑返回模拟数据给51,51正常继续处理。
问题是如果把51接232-485转接器,连到设备上,设备就是不反应。
不明白了,51或者仪器和电脑沟通都正常,两个直接连接就不行。
太诡异了,而且完全没有思路。。。。。。
各位有啥经验或者思路分享一下。
ps.
9600bps,采用异步主从半双工方式。8位二进制,每个代码由两个十六进制字符表示。1个起始位,8个数据位,2个停止位,无校验。 开始和结束时间 >5ms.
例如,01012e0302023eef.
modbus协议。 可以发程序看一下 多半是232程序问题
发来大伙交流下就好! 我也遇到了。又是9600,多半是带小数的问题
同问!!!! 232-485转化器是串口取电的?没有另外供电直接接板子上的话一般不能获取到电源而不能正常工作的。另外注意232是全双工的,485是半双工不能同时收发的。 需要供电的 会不会是51数据时,字节与字节之间的时间延迟长了点!这种情况也会出现你说的那种现象。485设备会没反应但是电脑端的数据正常。 觉得还是你51上的代码有问题,你可以尝试先把51和电脑连上,查看一下你51发送的数据是不是你希望发生的的数据 用示波器看看波形 怀疑电平匹配的问题。楼上说的对,用示波器逐级查。另外数据可能不是预期的数据。先收再处理。
页:
[1]