ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

学习记录5

学习记录5 定时器TIM一、TIM定时中断1、简介TIMTimer定时器·定时器可以对输入的时钟进行计数并在计数器达到设定值时触发中断·16位计数器、预分频器、自动重装寄存器的时基单元在72MHz计数时钟下可以实现最大59.65s的定时•不仅具备基本的定时中断功能而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能•根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型定时触发中断也属于一种计数器当计数基于一个精准可靠的基准时钟时其进行计数的过程就是计时的过程如在STM32中定时器的基准时钟一般是主频72MHz如果对72MHz计72个数那就是1MHz也就是1us的时间计72000个数就是1KHz也就是1ms的时间2、定时器类型1、基本定时器PSC预分频器对输入的计数基准频率72MHz进行预分频输出频率输入频率/预分频器的值1值增加可盐延长计数时间0为1分频1为2分频16位值得范围为0~65535CNT计数器可以对预分频后的计数时钟进行计数计数时钟每来一个上升沿计数器的值就加1计数器是16位的计数值范围为0~65535达到目标值时就需要自助重装载寄存器自助重装载寄存器存计数目标运行过程中计数值不断自增自主重装值是固定的目标计数值与其相等时计时时间到产生一个中断信号清零计数器计数器自动开始下一个计数计时计数值自动重装值的中断信号叫做“更新中断”其会通往NVIC配置号NVIC的计时器通道定时器的更新中断即可等到CPU的响应产生一个“更新事件”不会触发中断但可以触发内部其他电路的工作主从触发模式能让内部的硬件在不受程序得控制下实现自动运行主模式触发DAC在使用DAC时可能会使用DAC输出一段波形即需要每隔一段时间触发一次DAC让它输出下一个电压点正常先设置一个定时器产生中断每隔一段时间通过中断程序对DAC进行操作会使主程序频繁处于被中断的状态会影响主程序和其他中断的状态定时器的主程序可以将更新事件直接映射到触发输出TRGOTigger Out位置不需要中断来触发DAC转换仅需把更新事件通过主程序映射到TRGO然后TRGO直接触发DAC2、通用计时器通用计时器和高级定时器除了支持向上计数模式外还支持向下计数模式和中央对齐模式向下计数模式就是从重装值开始下递减减到0之后回到重装值申请中断中央对齐模式从0开始自增到重装值开始中断然后自减减到0申请中断内外时钟源选择和主从触发模式的结构内外时钟源选择通用定时器不仅可以使用内部时钟72MHz还可以使用外部时钟TIMx_ETR上连接的外部时钟定时器的级联初始化TIM3通过定时器的主程序通过将更新事件映射到TRGO输出初始化TIM2触发ITR2再激活外部时钟模式1从而实现通过TIM3控制TIM2定时器的级联外部时钟输入模式1的输入方式有ETR引脚其他外部时钟TRGO输入CH1边沿CH1引脚和CH2引脚可以读取正交编码器的输入波形3、高级计时器3、时序图4、RCC时钟树5、应用程序编写
返回列表