当前位置: 首页 > news >正文

k210单片机定时器的应用

定时器应该是一个单片机的标准配置,所以k210也是有的,拥有3个定时器,具体的使用方法我们往下看:

 分步介绍:

首先是相关模块的使用

构造函数:
machine.Timer(id,channel,mode=Timer.MODE_ONE_SHOT,period=1000,unit=Timer.UNIT_MS, callback=None, arg=None, start=True,priority=1, div=0)
定时器对象 Timer 对象在 machine 模块下
                       【id】定时器编号, [Timer.TIMER0~TIMER2] 定时器 0-2;
                       【channel】Timer 通道,[Timer.CHANNEL0~Timer.CHANNEL3]
                       【mode】定时器模式
                                     MODE_ONE_SHOT: 一次性
                                     MODE_PERIODIC: 周期性
                                     MODE_PWM
                       【period】定时器为周期性模块时每个周期时间值
                       【unit】周期的单位
                                    Timer.UNIT_S:秒
                                    Timer.UNIT_MS:毫秒
                                    Timer.UNIT_US:微妙
                                    Timer.UNIT_NS:纳秒
                       【callback】定时器中断执行的回调函数;注意:回调函数是在中断中调用的,所以在回调函数中请不要占用太长时间以及做动态内存分配开关中断等动作。
                       【arg】回调函数第 2 个参数
                       【start】是否在构建对象后立即开始定时器
                                      =True: 立即开始
                                      =False: 不立即开始,需要调用 start()来开启。
                       【priority】硬件中断优先级,在 K210 中,取值范围是[1,7],值越小优先级越高
                       【div】硬件分频器

使用方法:

Timer.callback(fun)           定义回调函数。
Timer.period([value])         配置周期。
Timer.start()                      启动定时器
Timer.stop()                       停止定时器
Timer.deinit()                      注销定时器

然后就是示例程序代码了:

'''
通过定时器让 LED 周期性每秒闪烁 1 次
'''from Maix import GPIO                # 导入GPIO模块
from fpioa_manager import fm         # 导入fm模块
from machine import Timer            # 导入定时器模块fm.register(12, fm.fpioa.GPIO0)      # 注册外部12口为内部低速GPIO0口led = GPIO(GPIO.GPIO0,GPIO.OUT)      # 创建led对象为内部GPIO0口,输出模式Count = 0                            # 创建计数变量#创建定时器回调函数
def HuiDiao(x):global Count                     # 声明Count为全局变量Count += 1                       # count+1print(Count)                     # 输出计数结果led.value(Count%2)               # led灯的值设置为计数的结果对2取余,也就是不是0就是1# 调用定时器
x = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PERIODIC, 
period=1000, callback=HuiDiao)

如果有表达错误的地方希望路过的大佬能给予及时的纠正,小的在此感激不尽了!

如果对您的学习有那么丁点帮助的话,希望能把您免费的小爱心留下!谢谢!

http://www.lryc.cn/news/63725.html

相关文章:

  • linux0.12-7-1
  • 设置 文本框 自动填充背景颜色 为白色
  • Bitmap引起的OOM问题
  • 【JavaEE初阶】认识线程(Thread)
  • 自动化运维工具一Ansible Roles实战
  • json 中有递归parentId节点转 c#实体类时如何处理
  • 给大家介绍几个手机冷门但好用的小技巧
  • 2.3 定点乘法运算
  • C++每日一练:打家劫室(详解动态规划法)
  • Wireshark使用
  • 这才是 SpringBoot 统一登录鉴权、异常处理、数据格式 的正确姿势
  • Java面试题总结 | Java面试题总结6-MYSQL模块(持续更新)
  • Linux命令集(Linux文件管理命令--mv指令篇)
  • 不一样的 Git 之间 | GitLab vs GitHub vs Gitee vs GitCode
  • 海尔牵头IEEE P2786国际标准通过Sponsor投票并连任工作组主席
  • 倾斜摄影超大场景的三维模型的顶层合并的纹理压缩与抽稀处理技术分析
  • linux命令之iostat详解
  • 【C++】程序员必备知识:认识类与对象
  • python基础实战5-python基本结构
  • 移动端异构运算技术 - GPU OpenCL 编程(基础篇)
  • QString类方法和变量简介(全)
  • 中移链控制台对接4A平台功能验证介绍
  • 必知的Facebook广告兴趣定位技巧,更准确地找到目标受众
  • 【MySQL】慢查询+SQL语句优化 (内容源自ChatGPT)
  • HashMap底层源码解析及红黑树分析
  • 科技云报道:一路狂飙的ChatGPT,是时候被监管了
  • 第四十四章 管理镜像 - 传入日记传输率
  • 加密解密学习笔记
  • Spring 属性填充源码分析(简单实用版)
  • 【机器学习分支】重要性采样(Importance sampling)学习笔记