接入stm32的io口后电平不能翻转了,求各位大佬帮助

2019-07-14 18:52发布

当传感器模块单独运行(不接STM32)时,接受到一定的频率后电平翻转(高电平翻转成低电平,低电平翻转成高电平),输出的低电平大约为0.72V,高电平大约为4.83v。可驱动LED。

当传感器模块输出接stm32的io口时,传感器模块的输出电平不翻转,一直为低电平(准确的说是第一次翻转成高电平后立刻变成低电平之后无法再翻转成高电平)。io口为下拉输入、上拉输入、浮空输入都尝试过了,都是这样的问题。

请问各位前辈这是什么原因导致的?又该如何解决?  

如果能得到您的答复,将对我有莫大的帮助,感激不尽。

传感器模块原理图如下:
电路图.JPG
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
lofty_amor
1楼-- · 2019-07-15 19:36
灬今何在灬 发表于 2018-4-19 11:08
我也碰到过这种IO口无法反转的问题,解决的方式是先先检查IO有没有对地短路,然后,将IO设置成推挽,并且拉高IO输出。因为IO是低有效。一定要设置成上拉,避开错误信号

对不起不是很懂啊,推挽是输出吧?
灬今何在灬
2楼-- · 2019-07-16 00:37
lofty_amor 发表于 2018-4-19 13:54
对不起不是很懂啊,推挽是输出吧?

因为可读IDR寄存器的关系,所以输入输出的配置并不是那么重要,只是当不能影响到外部信号的条件下才要把它设置为输入,由于单片机的IO口驱动能力不强,很容易被外部电压改变,所以这个没影响的,而改变IO是低电位,所以需要确定IO口的状态,在程序开始时需要把它拉高。等待外部电平改变,而不是默认的未确定状态。

一周热门 更多>