k210单片机定时器的应用

news2024/10/6 6:04:55

定时器应该是一个单片机的标准配置,所以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+1
    print(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.coloradmin.cn/o/479553.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【7. ROS 中的 IMU 惯性测量单元消息包】

欢迎大家阅读2345VOR的博客【6. 激光雷达接入ROS】🥳🥳🥳 2345VOR鹏鹏主页: 已获得CSDN《嵌入式领域优质创作者》称号👻👻👻,座右铭:脚踏实地,仰望星空&#…

vue3回到上一个路由页面

学习链接 Vue Router获取当前页面由哪个路由跳转 在Vue3的setup中如何使用this beforeRouteEnter 在这个路由方法中不能访问到组件实例this,但是可以使用next里面的vm访问到组件实例,并通过vm.$data获取组件实例上的data数据getCurrentInstance 是vue3提…

Java --- springboot2请求参数处理

目录 一、请求参数处理 1.1、请求映射 1.2、自定义请求规则 1.3、请求处理 1.4、普通参数与基本注解 1.4.1、注解 1.5、参数处理原则 1.6、复杂参数 1.7、自定义参数对象 1.8、自定义Converter 一、请求参数处理 1.1、请求映射 // RequestMapping(value "…

c#笔记-下载编辑器

IDE IDE是指集成开发环境(Integrated Development Environment),是一种将软件开发所需的软件组合在一起,可以从同一操作界面以统一的操作方式使用的软件包。通常包括代码编辑器、编译器、链接器、调试器、测试工具、版本管理软件等…

自动化运维工具一Ansible Playbook语法实战

目录 一、Ansible Playbook剧本初识 1.1 Ansible Playbook 基本概述 1.1.1 什么是playbook 1.1.2 Ansible playbook 与AD-Hoc的关系 1.2 Ansible Playbook 书写格式 1.2.1安装NFS 服务 1.3 Playbook变量详解 1.3.1 使用 vars定义变量 1.3.2 使用 vars_flies定义变量 …

Java每日一练(20230501)

目录 1. 路径交叉 🌟🌟 2. 环形链表 🌟🌟 3. 被围绕的区域 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏…

17自由度人形机器人实现行走功能

1. 功能说明 本文示例将实现R307样机17自由度人形机器人行走的功能。该项目利用探索者平台制作,其驱动系统采用伺服电机。 2. 仿人形机器人结构设计 人型机器人是一种旨在模仿人类外观和行为的机器人(robot),尤其特指具有和人类相…

VS快捷键大全 | 掌握这些快捷键,助你调试快人一步

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

Linux常见指令-1

本期我们开始学习Linux,首先我们来学习Linux的常见指令 目录 操作系统是什么 Linux下基本指令 1.ls指令 2.pwd指令 3.cd指令 4.touch指令 5.mkdir指令 6.rmdir指令 && rm 指令 7.man指令 8.cp指令 9.mv指令 10.cat指令 11.more指令 12.less指…

UE5中实现沿样条线创建网格体

本文是对UE官方教程:https://www.bilibili.com/video/BV1eU4y1c7XL的重现,原教程中通过构造函数实现非运行时执行脚本,并通过UE的样条线组件辅助创建路径网格体。该功能最终实现的效果如下: 1.创建基础蓝图 首先创建一个Actor蓝…

手把手教你 ,带你彻底掌握八大排序算法【数据结构】

文章目录 插入排序直接插入排序希尔排序 选择排序选择排序堆排序升序 交换排序冒泡排序快速排序递归hoare版本挖坑法前后指针版本 三数取中法选key递归到小的子区间时,可以考虑使用插入排序 归并排序递归实现非递归实现 排序算法复杂度以及稳定性 插入排序 直接插入…

计算机操作系统学习-引论

本专栏是对计算机操作系统学习的记录:《现代操作系统 第四版》,电子版的可以在评论区自取。 1 计算机硬件简介 操作系统与运行该操作系统的计算机硬件密切相关。如图1所示,我们可以将自己的计算机抽象为,CUP,内存和I/…

【数学建模】Day01——层次分析法

文章目录 1. 引出层次分析法1.1 思考问题1.2 平台借力1.3 分而治之的思想1.4 一致矩阵1.5 一致性检验1.6 一致矩阵计算权重1.7 判断矩阵求权重 2. 层次分析法2.1 定义2.2 具体步骤2.3 局限性 1. 引出层次分析法 1.1 思考问题 我们评价的目标是什么?我们为了达到这…

C语言:指针详解【进阶】后篇

目录 函数指针函数指针数组指向函数指针数组的指针回调函数 前言: 在C语言:指针详解【进阶】前篇中我们深入学习了字符指针,数组指针,指针数组以及数组传参和指针传参。我们对指针的应用有了较为深刻的认识,今天这里我…

BusterNet网络Python模型实现学习笔记之二

文章目录 一、squeeze函数的用法二、nn.CrossEntropyLoss函数三、isinstance函数四、定义冻结层 freeze_layers五、SummaryWriter 基础用法六、Python 基础语法1.变量嵌入到字符串2. enumerate() 函数3. 进度条库tqdm4. 字典(dict)展开为关键字参数&…

TAPFixer总结

相关工作 Menshen 检测属性用户写 et al检测属性就简单三个 未来工作: liveness; implicit; 数据集; 抽象方式合并;抽象规则配置;缓解谓词爆炸;concurrency的说明; 代码简化工作;给出能修复的漏洞种类 …

《基于光电容积法和机器学习的冠状动脉疾病患者出血风险预测》阅读笔记

目录 一、论文摘要 二、论文十问 三、论文亮点与不足之处 四、与其他研究的比较 五、实际应用与影响 六、个人思考与启示 参考文献 一、论文摘要 在冠状动脉疾病(CAD)患者的抗血栓治疗过程中,出血事件是关注的主要焦点。本研究旨在探讨…

浅谈一下布隆过滤器的设计之美

1 缓存穿透 2 原理解析 3 Guava实现 4 Redisson实现 5 实战要点 6 总结 布隆过滤器是一个非常有用的数据结构。它可以在大规模数据中高效地判断某个元素是否存在。布隆过滤器的应用非常广泛,不仅在搜索引擎、防垃圾邮件等领域中经常用到,而且在许多…

R语言单因素方差分析

R中的方差分析 介绍用于比较独立组的不同类型的方差分析,包括: 单因素方差分析:独立样本 t 检验的扩展,用于在存在两个以上组的情况下比较均值。这是方差分析检验的最简单情况,其中数据仅根据一个分组变量&#xff0…

【数据结构】七大排序总结

目录 🌾前言 🌾 内部排序 🌈1. 直接插入排序 🌈2. 希尔排序 🌈3. 直接选择排序 🌈4. 堆排序 🌈5. 归并排序 🌈6. 冒泡排序 🌈7. 快速排序 🌾外部排序 &…