硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2313|回复: 0
收起左侧

[TIMER] 从本质上理解STM32H7的低功耗定时器时钟选择和计数器的计数问题

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107393
QQ
发表于 2019-1-7 01:49:44 | 显示全部楼层 |阅读模式



先看框图。
666.jpg

首先将框图里面两个最要的标识跟寄存器对上号

lptim_ker_ck接口
内核时钟,供lptim使用。lptim_ker_tim接入到CLKMUX双路选择器的一个输入端,另一个输入端是LPTIM_IN1或者LPTIM_IN2的输入。
也就是说LPTIM的计数器可以选择lptim_ker_ck,也可以选择LPTIM_IN1或者LPTIM_IN。

那么最关键的地方来了
1、CLKMUX多路选择器对应的是CFGR寄存器的bit0::CKSEL,
(1)用于控制内核时钟选择由内部时钟源(APB时钟或LSE、LSI和HSI等任何其他内置振荡器)提供时钟。
(2)也可以选择由外部时钟源通过 LPTIM 外部 Input提供时钟。

2、Count mode对应的是CFGR寄存器的bit23:COUNTMODE计数模式位,用于选择 LPTIM 使用哪个时钟源来为计数器提供时钟。
(1)可以选择计数器在每个内部时钟脉冲后递增。
(2)或者在 LPTIM 外部 Input上的每个有效时钟脉冲后递增。

应用的时候,我们可以选择
CKSEL = 0 , COUNTMODE = 0 表示LPTIM内核时钟使用的内部时钟源,计数器通过内部时钟脉计数。
CKSEL = 0 , COUNTMODE = 1 表示LPTIM内核时钟使用的内部时钟源,计数器通过外部输入脉冲计数。
CKSEL = 1 , COUNTMODE = x 表示LPTIM内核时钟使用的外部时钟源,计数器通过外部输入脉冲计数。

此时再来理解下面的话就比容易理解了
误删.jpg

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-29 10:18 , Processed in 0.258568 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表