RS485通信遇到怪现象

2020-01-26 13:07发布

在调试RS485通讯时,单片机向计算机串口软件发送 0x99 ,但是串口软件上收到并显示的却是0x99,0x00;如果连续发送多位数据,串口软件接收到的数据总是多一字节(0x00),,哪位高手指导下啊。我使用的单片机是恩智普的51增强型系列里的P89LPC936
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
23条回答
xue2003265029
2020-01-28 12:28
回复【10楼】whj19860123
-----------------------------------------------------------------------
(1)光耦的发光二极管导通压降一般在1.2V左右,而导通电流也在7mA-10mA左右。
如果VCC为5V的话,本人经常将接光耦1脚的电阻的阻值为定470欧姆左右;接光耦4脚的电阻的阻值设为4.7K(或10K)。一直用着没有问题。像这样完全的情况完全可以用PC410替代。

(2)U5光耦的接法,感觉有点问题,当P1.0为低电平时,REDE的电平无法确定(跟流过发光二极管电流以及光耦的电流传输系数比有关)楼主这种接法估计是想达到REDE与P1.0反相的效果。其实不需要反相,P1.0和REDE(接485芯片的2、3脚)可以同相,这样P1.0=1时,表明485芯片发送,反之,表明485芯片接收。

(3)485芯片的A、B输出要加TVS管以及GDT管,防雷或防静电。

(4)在复位电路的电阻R2并联一个IN1418。

就这些了,图看不清,也不知道这电路也是干啥的。原理图对了,还得看PCB布局布线呢。

一周热门 更多>