第16讲 EPIT定时器实验
一、EPIT简介
1、EPIT是32位的一个向下计数器。
2、EPIT的时钟源可以选择,我们选择ipg_clk=66MHz。
3、可以对时钟源进行分频,12位的分频器,04095分别代表14096分频。
4、开启定时器以后,计数寄存器会每个时钟减1,如果和比较寄存器里面的值相等的话就会触发中断。
EPIT有两种工作模式:
Set-add-forget,一个是free-runing
5、6ULL有两个EPIT定时器。
EPIT_CR寄存器用于配置EPIT。
二、实验原理简介
EPIT_CR bit0为1,设置EPIT使能,bit1为1,设置计数器的初始值为记载寄存器的值。Bit2为1使能比较中断,bit3为1设置定时器工作在set-and-forget模式下。Bit15~bit4设置分频值。Bit25:24设置时钟源的选择,我们设置为1,那么EPIT的时钟源就为ipg_clock=66MHz
EPIT_SR寄存器,只有bit0有效,表示中断状态,写1清零。当OCIF位为1的时候表示中断发生,为0的时候表示中断未发生。我们处理完定时器中断以后一定要清除中断标志位。
EPIT_LR寄存器设置计数器的加载值。计数器每次计时到0以后就会读取LR寄存器的值重新开始计时。
CMPR比较计数器,当计数器的值和CMPR相等以后就会产生比较中断。
使用EPIT实现500ms周期的定时器。我们在EPIT中断服务函数里面让LED灯亮灭。
三、实验程序编写
...
第17讲 定时器按键消抖实验
当按键按下以后,进入到中断服务函数中,开始一个定时器,定时周期位10ms,只有最后一个抖动信号开启的定时器才能完成的执行完一个周期。当定时器产生周期中断以后就在中断服务函数里面做具体的处理,比如开关蜂鸣器。