假期备战蓝桥杯stm32学习笔记(五)

2019-04-13 20:31发布

Systick 操作系统和所有使用了时基的系统都必须有一个硬件定时器来产生需要的“滴答”中断,作为整个系统的时基。 Systick是一个24位的定时器。即一次最多可以计数2^24个时钟脉冲。保存在STK_VAL寄存器中。当这里面的值被减到0时,由硬件自动把重载寄存器STK_LOAD中保存的数据加载到STK_VAL。重新向下计数。
每当STK_VAL的值被计数至0时,就触发异常。可以在中断服务函数中处理定时事件了。     基本定时器 基本定时器TIM6TIM7只具备基本的定时功能,就是累加的时钟脉冲数超过预定的值时,能触发中断或触发DMA请求。芯片内部与DAC外设相连, 可以通过触发输出驱动DAC,也可以作为其他通用定时器的 时钟基准。 这两个定时器的时钟源都是TIMxCLK,时钟源经过PSC预分频器输入至脉冲计数器TIMx_CNT,基本定时器只能工作在向上计数模式。重载寄存器TIMx_ARR保存的是定时器的溢出值。 工作时,脉冲计数器TIMx_CNT由时钟触发进行计数,当TIMx_CNT的计数值X等于  重载寄存器中保存的数值N时,产生溢出事件,可以触发中断或DMA请求。然后TIMx_CNT的值重新被置为0,重新向上计数。 通用定时器 通用定时器TIM2~TIM5比基本定时器复杂很多。除了基本定时,它主要用在测量输入脉冲的频率、脉冲宽与PWM脉冲的场合,还具有编码器的接口 作用:1.定时功能2.计数功能3.输入捕获4.匹配输出5.pwm脉冲波 高级定时器 高级定时器TIM1TIM8能够产生三对pwm互补输出,常用于三相电机的驱动,它们的时钟由APB2的输出产生