记录一下2020未来的广交大的Linux学习过程--简化笔记
EPIT普通定时器
1、EPIT是32位的一个向下减一的计数器,不能输入捕获或pwm。
2、EPIT时钟源可以选择,ipg_clk=66Mhz
3、可以对时钟源进行分频,12位的分频器,0~4095代表1~4096分频
4、开启定时器后,计数寄存器会每个时钟减1,如果和比较寄存器的值相等时触发中断
EPIT有2种工作模式:
set-and-forget 模式、free-running 模式
5、6ULL有两个EPIT定时器。
EPIT_CR寄存器用于配置EPIT P1563
二、实验原理简介
EPIT_CR bit0为1,设置EPIT使能。bit1为1,设置计数器的初始值为加载寄存器的值,bit2为1使能比较中断。bit3为1设置工作在set-and-forget模式下。bit15-14设置分频值。bit16软复位。bit24-25设置时钟源,设置为1,时钟源为ipg_clk=66Mhz,外设时钟66Mhz。
EPIT_SR寄存器,只有bit0有效,表示中断状态,写1表示中断发送,为0中断未发生,中断产生后要清除标志位。
EPIT_LR寄存器设置计数器的加载值,计数器每次计时到0以后就会读取LR寄存器的值重新开始计时。
CMPR比较计数器,当计数器的值和CMPR相等后就产生比较中断
GPT定时器
GPT是一个32位向上计数的计数器
上升或下降沿捕获
支持输出或中断功能
12位的分频器
使用ipg_clk=66Mhz时钟源
GPT定时器有两种工作模式:restart 和free-run
Restart模式下:定时器计数值和比较寄存器OCR的值相等的话定时器就会重新从0开始计时。注意!只有比较通道1才有此功能。
Free-run模式:所有3个输出比较通道都适用,从0开始一直加到0xffffffff,周而复始。
GPT_CR寄存器,bit0位GPT使能位,为0时关闭GPT,为1时使能GPT。
bit1确定GPT定时器计数器的初始值,为0表示默认上次关闭的值,为1从0开始向上计数。
bit6~8 设置为1 时钟源为ipg-clk=66Mhz。
bit9设置GPT定时器工作模式,为0工作在restart,为1工作在free-run.
bit15软件复位。
GPT_PR寄存器的bit11~0为分频值。可设置0~4095,表示1~4096分频。
GPT_SR(状态)寄存器,bit5表示溢出发送,bit4和3分别为输入通道2和1的捕获中断标志位。bit2~0也即是OF1~3为比较中断。
GPT_IR寄存器,就是中断使能寄存器。bit5中断溢出使能,bit4和3分别为输入2通道2和1的捕获中断使能位。bit2~0为通道3~1的中断比较使能位
GPT1_OCR1寄存器设置输出比较中断值