首要介绍下自己用到的一些功用
1、时基单元
首要包含:
● 计数器寄存器 (TIMx_CNT)
● 预分频器寄存器 (TIMx_PSC)
● 主动重载寄存器 (TIMx_ARR)
● 重复计数器寄存器 (TIMx_RCR)
预分频器阐明:预分频器可对计数器时钟频率进行分频,分频系数介于 1 和 65536 之间。该预分频器根据TIMx_PSC 寄存器中的 16 位寄存器所操控的 16 位计数器。因为该操控寄存器具有缓冲功用,因而可对预分频器进行实时更改。而新的预分频比将在下一更新事情发生时被选用。
2、计数器形式:递加、递减、中心对齐形式(递加、递减)
1)递加计数形式(向上计数形式):计数器从 0 计数到主动重载值( TIMx_ARR 寄存器的内容),然后从头从 0 开端计数并生成计数器上溢事情。假如运用重复计数器,则当递加计数的重复次数到达重复计数器寄存器中编程的次数加一次(TIMx_RCR+1) 后,将生成更新事情 (UEV)。不然,将在每次计数器上溢时发生更新事情。
2)递减计数形式(向下计数形式):计数器从主动重载值( TIMx_ARR 寄存器的内容)开端递减计数到 0,然后从头从主动重载值开端计数并生成计数器下溢事情。与上面的相似。
3)中心对齐形式:计数器从 0 开端计数到主动重载值( TIMx_ARR 寄存器的内容)-1,生成计数器上溢事情;然后从主动重载值开端向下计数到 1 并生成计数器下溢事情。之后从0 开端从头计数。有1、2、3,三种形式。
3、重复计数器
只有当重复计数器到达零时,才会生成更新事情。这在生成 PWM 信号时很有用。
这意味着,每逢发生 N+1 个计数器上溢或下溢(其间, N 是 TIMx_RCR 重复计数器寄存器中的值),数据就将从预装载寄存器转移到影子寄存器( TIMx_ARR主动重载寄存器、TIMx_PSC 预分频器寄存器以及比较形式下的 TIMx_CCRx 捕获/比较寄存器。
重复计数器在下列情况下递减:
● 递加计数形式下的每个计数器上溢。
● 递减计数形式下的每个计数器下溢。
● 中心对齐形式下每个计数器上溢和计数器下溢。虽然这使得最大重复次数不超越 128 个PWM 周期,但在每个 PWM 周期内可更新占空比两次。当在中心对齐形式下,每个PWM 周期仅改写一次比较寄存器时,因为形式的对称性,最大分辨率为 2xTck。
4、时钟挑选
计数器时钟可由下列时钟源供给:
● 内部时钟 (CK_INT)
● 外部时钟形式 1:外部输入引脚
● 外部时钟形式 2:外部触发输入 ETR
● 外部触发输入 (ITRx):运用一个定时器作为另一定时器的预分频器,例如,可将定时器1 装备为定时器 2 的预分频器。
5、PWM 输入形式:关于PWM输入,首要是测频率与测占空比。
6、强置输出形式:经过设置CCMR寄存器,能够使OCxREF强制为高或低一种状况。且计数器和比较器仍在作业,并发生中止或DMA。
7、输出比较形式
此功用用于操控输出波形,或指示已经过某一时间段。
在输出比较形式下,更新事情 UEV 对 OCxREF 和 OCx 输出毫无影响。同步的精度能够到达计数器的一个计数周期。输出比较形式也可用于输出单脉冲(在单脉冲形式下)。
过程:
1. 挑选计数器时钟(内部、外部、预分频器)。
2. 在 TIMx_ARR 和 TIMx_CCRx 寄存器中写入所需数据。
3. 假如要生成中止请求,则需将 CCxIE 方位 1。
4. 挑选输出形式。例如:
— 当 CNT 与 CCRx 匹配时,写入 OCxM = 011 以翻转 OCx 输出引脚
— 写入 OCxPE = 0 以制止预装载寄存器
— 写入 CCxP = 0 以挑选高电平有用极性
— 写入 CCxE = 1 以使能输出
5. 经过将 TIMx_CR1 寄存器中的 CEN 方位 1 来使能计数器。
8、PWM 形式
脉冲宽度调制形式能够生成一个信号,该信号频率由 TIMx_ARR 寄存器值决议,其占空比则由 TIMx_CCRx 寄存器值决议。有两种形式。
9、互补输出与死区刺进
● 输出信号 OCx 与参阅信号相同,仅仅其上升沿相对参阅上升沿存在推迟。
● 输出信号 OCxN 与参阅信号相反,而且其上升沿相对参阅下降沿存在推迟。
10、单脉冲形式
来历;21ic