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

电子发烧友网工程师 发表于 2018-02-01 03:33:01 收藏 已收藏
赞(0) •  评论(0

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

电子发烧友网工程师 发表于 2018-02-01 03:33:01

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

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

1

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

2

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

3

4

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

5

6

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

7

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

8

显示效果

084825vt5qqdpuuvt1938v

收藏

相关话题
文章来源栏目
+关注

评论(0)

加载更多评论

参与评论

分享到

QQ空间 QQ好友 微博
取消