文章目录
TIM定时中断
1、TIM简介
定时器的基准时钟一般都是主频72MHz,如果对72MHz计72个数,就是1us的时间,如果计72000个数就是1ms的时间。
计数器
就是执行计数定时的一个寄存器,每来一个时钟计数器加一
PSC预分频器(Prescaler)
对计数器的时钟进行分频,让计数更灵活
ARR自动重装寄存器(Auto Reload Register)
计数的目标值,就是想要计多少个时钟申请中断
2、定时器类型
基本定时器
基本定时器只能选内部时钟,通向时基单元的计数基准频率一般是与系统的主频72MHz有关的72M,到预分配器这里,如果寄存器写0就是不分频,写1就是2分频,输出频率=输入频率/2=36MHz,以此类推,即实际分频系数=预分频器的值+1。然后到了计数器,计数器可以对预分频后的计数时钟进行计数,计数器的值会在计时过程中不断的自增运行,当到目标值时,产生中断,完成了定时的任务。ARR自动重装寄存器存的就是计数目标,当计数值等于自动重装值时,计时时间到了,产生一个中断信号并且清零计数器,计数器自动开始下一次的计数计时,这种计数值等于自动重装值产生的中断,一般叫“更新中断”,这个更新中断结束后会通往NVIC,再配置好NVIC的定时器通道,定时器的更新中断就能得到CPU响应。向上的折线箭头代表产生中断,向下的箭头代表产生一个事件,这里对应的事件叫做“更新事件”,更新事件不会触发中断,但可以触发内部其他电路的工作。
主模式触发DAC
在使用DAC时,可能会用DAC输出一段波形,那就需要每隔一段时间触发一次DAC,让他输出下一个电压点。如果用正常思路来实现,先设置一个定时器产生中断,每隔一段时间在中