[求助] STM32双向IO

Craig_Shaw   2015-9-26 08:58 楼主
之前从资料上面看到,STM32可以将IO管脚配置成开漏模式并加上上拉电阻以达到双向IO的效果。我今天在读写一块单总线传感器DHT11的时候却发现,貌似要将管脚设为高GPIO_Pin_Set(x,x)才可以释放总线,我才可以读到传感器发过来的数值。
在读DHT11之前要将信号线先拉低18ms,然后就开始等待DHT11的信号反馈,从时序图上来看,在拉低完18ms左右后,DHT11会主动过来拉高我的信号线,但是我通过逻辑分析仪却发现这条数据线始终为低电平,而当我在拉低18ms后主动拉高,后面的DHT11的时序就都可以得到了。
小弟不才,敢问大神,在开漏模式下,是一定要将管脚设为高的之后,才可以释放这个管脚么?还是会因为电平的原因导致我没有读出来?

  • 先拉低大于18ms
  • 在我主动拉高之后,DHT11开始控制信号线

回复评论 (1)

你是把引脚设置成开漏输出了吧,如果输出为低,就不能出现高电平的,输出高电平才可以。
点赞  2015-9-29 19:48
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复