一个Uart同时支持RS232和RS422的问题
我的单片机只要一个Uart,但是我的设备要同时支持RS232和RS422,我把单片机的发送和接收信号线并接MAX232和MAX491的发送和接收信号线,但是这样老是有干扰,马老师有碰到这种情况吗?有什么好的解决方案? 发送可以并接,接收要线与,不能直接并。 "线与"是指一种逻辑电路,把几个OC门的输出用线连在一起,只要其中一个输出低电平,全线就被拉到低电平.所有的OC输出为高全线才被拉到高电平
这能保证数据的逻辑的正确性吗? 这个问题我也想知道呀,项目中只有一个UART,但同时要支持232和485,原来想做成跳线的形式,可是需要人工操作,最好是自动检测,呵呵 发送并接,接收接与门,可以稳定工作,我这样做过产品。
当然,如果两边同时发数据那就肯定不行了,这样只能保证只有232或者只有422有数据输入时正常工作。 我的产品也是想只是同一时刻只使用一个口,
不过接收接与门的话,当使用其中一个端口的时候,另一个端口的的信号没有对使用中的端口的信号有影响吗?
比如我使用422口传输数据,422传来一个逻辑“1”,这个时候232的接收引脚刚好有一个逻辑“0”的干扰进来,那我的CPU接收到的是错误的数据逻辑“0”!
你的产品有没有出现这种错误?
另外总感觉串口有干扰是常用的事。你不使用他也不能保证接收的引脚永远为高电平。 好象用 两个二极管就解决问题了 对于接收端,我用两个二极管构成也与门,CPU接收数据是正常的,
发送数据一开始是正常的,过一两分钟就烧掉,不是232就是422.这又是什么原因呢? MARK 不会吧,我之前都是这样用的,没有发现问题. 4066双切开关。。。。要不在单片机再模拟一个UART 1楼的线与可行。
这个方案唯一的问题是:当RS232和RS422两个端口同时给你发数据时,就乱套了.............
如果速率不高,可以用软件模拟一个出来,这样就不怕打架了。 我的232芯片是5V的
422芯片是3.3V的,cpu是3.3V的,估计是这个电压的问题 估计楼上是这个原因,我昨天又需要做一批产品,将主机点了一下午,232和485同时接上,只用一个发送,当然是两个接收,没有问题. 建议:
1. 232和422的ttl侧RX管脚 做or运算
2. 将232和422接口做在同一个DB9接口上,分布在不同引脚,这样能保证同时只可以使用一种接口
保险起见,建议还是使用开关决定用哪种 说出来惭愧!原来是串口线接发送那根线触不良!
晕死! mark 做个记录 baw56 很纳闷,你为什么不用有2个串口的单片机呢?
页:
[1]