标签:
问题描述:
最近碰到一个问题,stm32用485输出,但是只有输出,输入的数据stm32接收不到:
测试描述:
测试485的dir口是 3.3v,悬空的话一般引脚电平是0或1电平;dir接的stm32的PC6,PC6用GPIO_ResetBits()设置的低电平
然而接上去之后呢,测量的是3.3v,因此板子只能发送,不能接收
解决方案:
检查了之后发现PC6-9没有初始化,怎么办呢,所以我就初始化推挽输出,也叫下拉输出,开漏输出是上拉输出,
推挽输出:内部给个0,相当于接GND,给个1相当于接VCC
开漏输出:内部给0,接GND,给1的话需要外接上拉电阻才能为1
然后就这样解决了,但是有个问题是输出的少了一个字节,然后我就延迟一个字节时间吧dir置0;
its over,其实很多问题想想就知道怎么回事了,多动动脑子,和聪明人玩玩,这样就会变得更加聪明。
标签:
原文地址:http://my.oschina.net/u/2252538/blog/503699