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

电子说

1.3w人已加入

描述

前面说过TC1使用的是外部32K的时钟源,因为这个晶振没有焊接,无法测试,所以我们这里选择的测试时钟为TC2。

本MCU一共有9个定时器,TC1-TC9,都是16位的。先来看看时钟内部框图,TC外设使用的是PBCLK3,频率是100MHZ

mcu

打开MHC,选择Harmony Framework Configuration》Drivers》Timer进行设置,下面大体介绍下每个设置的含义

mcu

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

mcu

mcu

为了方面参数的定义等,把中断函数直接移到APP.C下面,这样编写写程序比较方便,个人习惯这样

mcu

mcu

在APP.H中定义计数器的几个变量,方便以后使用

mcu

在中断函数里增加程序,因为是1ms定时的,累加1000次正好是1S,1S刷新下显示数据

mcu

显示效果

mcu

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分