最近在使用MAX13487芯片的时候出现了发送给MAX13487芯片的数据,原封不动的从RO引脚返回到CPU端,好像数据产生了回环,很是困惑,到网上寻求帮助发现也有人遇到过这个问题,但是都没有给出解决的办法。 . I6 G1 X5 A5 ?6 F' x 没办法,只能自己研究,最后终于搞明白了,原因是这样的:2 @- N" ?2 N$ }, @( L
MAX13487是个自动方向控制的485芯片,他只有在DI输入是低电平时驱动总线的状态为低(A<B),在DI输入为高电平时,芯片只驱动总线一小段时间就将发送器禁止了,又总线的上下拉电阻保持总线为高电平。大多数情况下,接收器是使能的,这样上下拉电阻的作用就使RO输出一个高电平,总线有数据时,RO的电平根据总线的状态正确的输入给mcu;接收时没有问题,问题出现在发送数据的时候,关键是发送低电平时,接收器是禁止的,这时接收器不驱动RO引脚,RO引脚处于高阻状态,相当于悬空,碰巧我的MCU的RXD引脚默认是低电平,这样RO引脚就会被我的MCU拉到低电平,这样DI和RO的信号电平就一致了,数据回环的现象就产生了。 # d' ~" h6 r' G 解决问题的办法是,我给RO引脚加了一个上拉电阻,这样,当MAX13457不驱动RO引脚时,不至于被我的MCU把这个引脚拉低,问题就解决了。回环的现象没有了,看着舒服多了。希望对别人有帮助。