前面说过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刷新下显示数据

显示效果

-
mcu
+关注
关注
147文章
18603浏览量
386532 -
定时器
+关注
关注
23文章
3360浏览量
121699
发布评论请先 登录
CW32L0开发板学习记录四,高级定时器ATIM学习
PIC32MZ W1系列Wi-Fi SoC技术解析与应用指南
低功耗32位MCU PIC32CM16/32 GV00的技术解析与应用
SysTick系统滴答定时器简介
TPL5010-Q1 纳米功耗系统定时器(带看门狗功能)技术文档摘要
基于 AS32X601 微控制器的定时器模块(TIM)技术研究与应用实践
瑞萨RA MCU众测宝典 SysTick之RA0E1定时器点灯
MCU定时器/计数器
Microchip PIC32A系列MCU 集成高性能模拟外设的32位MCU

PIC32MZ系列MCU的定时器测试学习教程
评论