PWM至高电压电平

时间:2018-09-23 05:44:09

标签: python raspberry-pi3 pwm

我在树莓派GPIO中有一个PWM输入。我只需要检测GPIO是否读取PWM的时间即可。

例如,如果我的树莓派收到了这些(|||| => PWM)

_______|||||||_______||||||||______________|||||||_______

我将获得每个低电平和PWM的时间

_______|||||||_______||||||||______________|||||||_______
[70 ms][70 ms][70 ms][70 ms][    140 ms   ][70 ms][70 ms]

或至少能够转换为这样的高电压(---- => HIGH)

_______-------_______--------______________-------_______
[70 ms][70 ms][70 ms][70 ms][    140 ms   ][70 ms][70 ms]

我需要像这样,以便获得PWM的时间长度。

如何在python中实时执行此操作?

1 个答案:

答案 0 :(得分:0)

>>> import time
>>> start_time = time.time()
>>> while input(): #input from RaspberryPi GPIO
...   pass
...

>>> end_time = time.time()-start_time
>>> end_time  #Store this in a list
19.64651846885681
>>>

对于每个GPIO高电平或低电平信号,只需重置start_time和end_time并计算时间差。
从上面的代码中,将input()替换为PWM信号。您可以按上述方式计算时差。只需将以上内容循环使用,并将值存储在列表中即可获得所需的输出。