我在树莓派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中实时执行此操作?
答案 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信号。您可以按上述方式计算时差。只需将以上内容循环使用,并将值存储在列表中即可获得所需的输出。