前面说过tc1使用的是外部32k的时钟源,因为这个晶振没有焊接,无法测试,所以我们这里选择的测试时钟为tc2。
本mcu一共有9个定时器,tc1-tc9,都是16位的。先来看看时钟内部框图,tc外设使用的是pbclk3,频率是100mhz
打开mhc,选择harmony framework configuration》drivers》timer进行设置,下面大体介绍下每个设置的含义
1,driver implementation:这个有动态和静态的可以,我们这里选择动态的,具体的区别在下一篇中介绍
2,中断模式选择使能,这里打钩,表示使能中断。
3,timer module id:选择id2,就是使用的tc2,这里可以选择1-9,但1的时钟源没有,所以只能选择2-9,我们选择2来测试
4,interrupt priority和interrupt sub-priority这两项是选择中断优先级。每个向量有7个用户可选的优先级,每个优先级内有4个用户可选的次优先级。
5,clock source:选择时钟源。外部的为txck引脚的外部时钟,内部的为外设时钟pbclk3
6,prescale:分频选择,可以选择1-256。我们选择256,就是pbclk3的100m进行256分频,得到390625hz。若是要求较短间隔(us),最好使用32位模式,因为分频后的频率数值若是超过计数器长度,则无法正常使用,并且没有提示,你会看到定时器没有起作用。
7,operation mode:模式选择,可以选16位或32位模式。timer2与timer3组合、timer4与timer5组合、timer6与timer7组合以及timer8与timer9组合可提供4个32位同步定时器。当工作在32位模式下时,该位对奇编号定时器(timer1、timer3、timer5、timer7和timer9)没有影响。所有定时器功能通过偶编号定时器设置。
8,power state:用来选择tc可以运行在哪些节能模式下,这里选择full表示所有模式下都可以运行。
mhc中,选择harmony frameworkconfiguration》system services》timer进行设置,这里配置中断的频率也就是中断的时间等设置,这里的频率1000就表示1s产生1000次中断,也就是说定时时间为1ms
为了方面参数的定义等,把中断函数直接移到app.c下面,这样编写写程序比较方便,个人习惯这样
在app.h中定义计数器的几个变量,方便以后使用
在中断函数里增加程序,因为是1ms定时的,累加1000次正好是1s,1s刷新下显示数据
显示效果
压力筛筛底冲刷磨损的修复方法
高速数据速率系统的信号完整性解读
生物公司利用机器学习找到冠状病毒的治疗方法
日本研究人员针对OLED效率问题获新突破,可使OLED激子效率超过100%的限制
激光跟踪仪的功能是什么?
PIC32MZ系列MCU的定时器测试学习教程
全球5G深度融合势不可挡,我国5G在国际上都处于引领地位
英特尔押注4nm制程,将与台积电展开合作
多协议蓝牙和Zigbee怎样连接更多的设备
时间继电器型号有哪些 延时继电器的工作原理
XANDAR 旨在在安全关键型多核设计中生成代码
真空度测试仪的性能指标
国高电气DPAS直流快切电源双电源切换直流母线切换热工直流电源大电流切换
三相电源的三角形和星形连接方式
LED滴胶基础资料
功率放大器AWL9966的性能特点及应用范围
在自动驾驶这场战局中 对场景的掌握才是获胜关键
NASA开发全新发动机技术:安装在飞机表面
机器人配送商品 快递业进入爆发式发展阶段
地物光谱仪有什么用?