设为首页收藏labplus社区产品资料库
0
积分值+2
0
掌控币+1
0  关注
20  粉丝
30  帖子
桑老师
2019年06月20日

#基础使用#Micropython之定时器

    微控制器的定时器是一个非常重要的硬件资源。

    通过对定时器的设定,可实现到达精确时间定时后,产生定时器中断,然后让程序转向执行定时器中断服务函数,定时器中断服务函数执行完毕后,又可以很快的回到刚才中断的主程序中。这对于一些功能的实现是非常重要的,比如:在交通上应用的红绿灯,使用了定时器,来产生精确的定时,实现红绿灯的倒计时。

    下面,我们开始讲解怎样用Micropython使用掌控板ESP32的定时器资源。

视频地址1

视频地址2

补充知识:

    实质上定时器的使用需要牵扯到微控制器一些控制寄存器的配置,这方面需要阅读相应微控制器的技术文档才能了解到其控制方法,Micropython的开发者们在编写固件的时候,已经把这部分工作做好了,我们作为Micropython的使用者,只需要调用相关的函数即可。但是需要说明的是,如果想使用定时器的很多高级应用,去完成更复杂,更加精细的操作的话,我认为仅仅会使用Micropython去控制硬件是不够的。所以还需要在大学中去细致的学习相关的内容。

学习笔记:

1、使用定时器,需要先将定时器实例化

如:tim1=Timer(1),将定时器1,实例化为对象tim1

2、必须创建定时器服务函数,函数参数中应至少有一个参数,表示定时器的实体

如:def tim1_deal(t): 其中的t就是相当于传递来d定时器实体对象

3、实例化的定时器需要进行初始化

如:tim1.init(period=1000,mode=Timer.PERIODIC,callback=tim1_deal)

参数period表示定时器的定时周期,单位为ms

mode表示定时器的使用模式,有两种:

a.Timer.ONE_SHOT指计时器运行一次

b.Timer.PERIODIC 指定时器循环计时

callback,表示定时器时间到达后,执行的回调函数,即中断服务函数。

4、在定时器的中断服务函数中,尽量缩短代码的数量,保证定时器中断服务函数的快速性。

2

点赞

1786 次阅读1 条评论2 人赞
1条评论