请问STM32引脚捕获高/低电平时间,什么范围算高电平和低电平?

2019-07-14 14:51发布

用的是STM32F103ZE芯片,最近有一个项目需要捕获到每100ms的高电平时间或者低电平时间,理应上检测上升到0.7Vdd=2.31V时, 才认为是高电平的的信号来了,开始计时。  再者,理应上检测下降到0.3Vdd=0.99V时,才认为是低电平的信号来了,才开始计时。 是这样吗?

但是我用信号发生器,输出0~1.5V的脉冲波,检测的高电平时间是跟0~2.31V的脉冲波一样的,低电平检测亦然。是否芯片认为的高电平和低电平的范围都在1.5V左右,而不是0.7Vdd和0.3Vdd?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
zhouxk
2019-07-15 08:14
本帖最后由 toofree 于 2018-8-1 15:30 编辑

高电平0.7Vdd和0.3Vdd自然是没有问题的。
但是间于0.7Vdd和0.3Vdd之间,肯定也是个状态吧,不是1就是0,单位的二进制不可能出现0.5吧。
间于0.7Vdd和0.3Vdd之间的,不保证是1还是0。但是小于0.3Vdd一定是0,高于0.3Vdd一定是1。

如果要把中间状态排除的话,那么加一级施密特触发器。也就是内部带滞回比较器。
STM32的输入是已经加了施密特触发器的。


建议用示波器观察一下你的信号发生器的输出是什么,多大的幅值。

一周热门 更多>