232转485接反有数据,按对没数据

232转485接反有数据,按对没数据,第1张

232转485接反会导致数据无法正常传输,出现数据按对和没数据的情况取决于具体的情况。

具体来说,232转485接反会导致数据传输的极性相反,因此如果在发送端和接收端都没有进行相应的处理,则数据无法正常传输。此时,可能出现以下情况:

1. 数据传输错误:由于极性相反,数据无法正确传输,导致接收到的数据与发送的数据不一致。

2. 没有数据传输:由于极性相反,数据无法通过串口线路传输,导致接收端没有接收到任何数据。

要解决这个问题,可以考虑以下几种方法:

1. 修改接线:将232转485的RXD和TXD引脚交换连接即可。

2. 在软件中进行调整:通过设置相应的参数,对不同的串口进行极性反转等 *** 作,使数据能够正常传输。

3. 使用专用的设备:使用支持自动极性判断、自动调整的485转232/485转USB转换器等设备,能够避免因接线错误导致的传输问题。

在任何情况下,建议在进行接线之前,仔细检查线路和设备的规格和参数,以确保正确连接并防止硬件损坏。

RS232接口是点对点的协议,本来不能有两个TX端接到一个线路上的。当2端TX在发送数据的时候,驱动会把线路下拉到RS232低电平;而这个时候3端TX是没有数据发送的,3端的TX要输出RS232高电平。这样就形成了短路。

如果你一定要采用这样的电路,可以在2端和3端的TX上,分别串联一个电阻,然后再连接起来。但是加上串联电阻会影响回传的数据的速率。

你的程序有两个问题,一是波特率计算错误,串口方式1用T1的方式2控制波特率,与传统51是完全兼容的。而你的TH1,TL1初始值的计算是时钟不分频的方式,需要设置AUXR寄存器才行。

二是串口中断程序中的判断错误,电脑发送的1是字符,所以应改为

if(ReceiveData == '1')//1是字符

{ ReceiveData = ReceiveData + 1}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6693175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存