文章
博客 网店

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


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



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



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

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

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

芯艺工作室    蒙ICP备06005492号
Copyright© 2004-2023 ChipArt Studio All Rights Reserved