【MCU外设学习】基本定时器

思路:

1.参考野火文档,了解TIM分为基本、通用、高级,后面的TIME在前一级的基础上加了功能

2.找这个外设挂载在哪个总线上,参考STM32f10x-中文参考手册的第2章存储器和总线构架

 

如上图,基本(TIM6、7)和通用定时器(TIM2、3、4、5)在APB1总线上,

高级定时器(TIM1、8)在APB2总线上;

这样就知道要使能哪个时钟了。

 

3.了解基本定时器的功能,从寄存器的种类和典型配置入手

参考STM32f10x-中文参考手册的第15章,

4.一定要把寄存器种类看一遍,每个位的细节记不住没关系。典型应用中需要配置的寄存器是全部寄存器中的哪一部分,能达到这样的印象暂时就够了。以及知道寄存器地址就在种类介绍的后面,如果对于寄存器配置有疑问来这篇文档找。

5.初学简单应用实例去哪找?

现在的思路是参考开发板文档,本来想参考官方示例代码的,但官方示例代码比较适合

已经知道外设是如何用的情况下学习,可以看看注释,如下图:

 

 对于还不知道外设的功能的学习者,参考开发板文档会合适一点,如下图:

 

懂功能后,以后就能参考官方代码了。

 

6月6日:

PSC(预分频器)和ARR(自动重装载寄存器)决定PWM周期;周期 = [ 1 / (主频 / PSC)] * ARR,前者是定时器时钟周期,后者是重装脉冲数,相乘才是生成的PWM周期。

 CNT和CCRx控制PWM输出高低电平,当CNT<CCRx时,输出1,反之输出0;

由于ARR实际是脉冲个数上限(CNT达到这个值就重装),那么CCRx就不能超过ARR,没有意义,占空比为100%;占空比 = CCRx / ARR.

 

posted @ 2022-05-14 10:23  咸鱼菜菜籽  阅读(344)  评论(0)    收藏  举报