学过单片机的同学应该清楚,我们在编写传感器驱动时,需要用到高精度的定时器、延时等功能,wiringpi提供了一组函数来实现这些功能,这些函数分别是:
micros() #返回当前的微秒数,这个数在调用wiringPiSetup()后被清零并重新计时
millis() #返回当前的毫秒数,同上,这个数在调用wiringPiSetup()后被清零并重新计时
delayMicroseconds() #高精度微秒延时
delay() #毫秒延时。
python相对于C,一个很大的问题就是执行速度慢,所以指令执行速度不可忽视,我们可以用micos函数来检测指令执行时间,用来避免实际使用中遇到的坑,请看以下代码:
importwiringpi2 as gpiofor i in range(5):
t1=gpio.micros()
t2=gpio.micros()print(t2-t1)
连续调用两次micros,然后打印出差值,运行结果如下:
[root@RasPi ~/testcode]# python testus.py12
4
4
5
5
我们看到第一次的结果明显比以后的结果要大,多了接近10微秒,一般的程序来说,这无关紧要,要是要求更高,可以把代码改成这个样子:
importwiringpi2 as gpiofor i in range(5):
t1=gpio.micros()
t1=gpio.micros()
t2=

本文介绍了如何在Python中使用wiringpi2库进行高精度计时和延时操作,包括micros()、millis()、delayMicroseconds()和delay()函数的使用。通过示例代码展示了函数执行时间和延时效果,强调了在编写高精度程序时考虑指令执行时间的重要性。
最低0.47元/天 解锁文章
989

被折叠的 条评论
为什么被折叠?



