XuSenfeng

个人站

复读了,更新随缘,有的文件不全或者图片缺失具体看我的笔记库(https://github.com/XuSenfeng/note)


中断

目录

EPIT定时器

第24章

提供周期性的中断, 只能做定时器, 一共有两个

是一个32位的向下计数器, 没一个周期减一, 可以选择ipg_clk, 被配置为66MHz

可以对时钟源进行分频, 有一个12位的分频器1-4096

有三个寄存器, 计数寄存器, 比较寄存器, 重加载寄存器

开启以后计数寄存器每一个时钟周期减一, 如果和比较相等就会产生中断或者某个引脚产生一个信号

有两种工作模式,

  • set-and-forget模式:从加载寄存器EPITx_LR中获取初始值,不能直接向计数器寄存器写入数据。

  • free-running模式 : 当计数器计数到0以后会重新从0XFFFFFFFF开始计数,并不是从加载寄存器EPITx_LR中获取数据

EPITx_CR[RLD](bit3): 控制模式的选择设置为1的时候会从重加载寄存器获取数字

EPIT_CR用来控制EPIT, 设置是否使能(bit0), 初始值的设置(bit1), 中断(bit2), 工作模式(bit3), 设置分频(4-15), 软复位(bit16), 时钟源选择(24-25)

EPIT_SR: bit0有效进行中断复位, 1的时候为中断发生, 写1复位

EPIT_LR寄存器, 重加载寄存器

EPIT_CMPR: 比较寄存器, 比较的结果相等的时候会进行

按键销抖

在每一次跳变的时候都会重新设置定时器, 在最后一次跳变的时候才会进行按键功能的实现, 在定时器的中断中实现要实现的功能