RS485芯片与单片机接口中的一个容易忽略的隐患

如下图,这是一个RS485芯片与单片机连接的典型电路,通常我们用一个IO口来控制485的发送与接收选择引脚。

 

那么隐患在哪里呢?在单片机的接收引脚RXD上。当单片机发送数据时方向控制引脚DIR变高,使485芯片处于发送状态,再看看485芯片的内部原理图:

 

 

当DE和RE两个引脚拉高时,R三态门是处于关闭状态,其输出RO也是处于不稳定的电平状态,输出高还是输出低那要看运气了,如果是高,那你的程序可能没有任何问题,但如果是低那你的程序会出现莫名其妙的问题,原因是单片机的UART是全双工的,发送的同时也处于接收状态,在RXD引脚上一旦出现低电平那就触发一个接收逻辑,你会发现单片机一发送,目标还没有响应你的程序会收到一个无用的数据,当然如果在编写程序时意识到这个问题,当然可以通过程序的方法来解决此事,但还是不如从源头上解决此事来的爽快。

解决办法1:RXD引脚接一个上拉电阻

解决办法2:在程序中打开RXD引脚上的内部上拉电阻

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值