原创 STM32L低功耗定时器应用注意

2020-6-23 14:04 2973 20 2 分类: MCU/ 嵌入式 文集: STM32应用
LPTIM操作模式:
1. 连续运行模式:
可以由软件或触发事件启动,一旦运行后则不会主动停止,必须由软件关闭,新的触发事件会被忽略
2. 一次触发模式:
定时器由触发事件启动,当计数值到达ARR值(自动重装载值)时停止,新的触发事件将重启定时器
(例外情况:CFGR:WAVE标志置位后,定时器只能被触发启动一次,后续的触发事件会被忽略)
定时器启动后,但计数值未达到ARR值时,此期间的触发事件会被忽略

LPTIM计数模式:
CKSEL=0,COUNTMODE=0:内部时钟计数,每个内部时钟脉冲更新一次计数值
CKSEL=0,COUNTMODE=1:外部信号计数(内部时钟同步),每个内部时钟脉冲对外部信号进行采样并更新计数值,因此外部信号的频率应该低于内部时钟频率,同时内部时钟不应该被分频(即PRESC[2:0]=000)
CKSEL=1,COUNTMODE=X:外部时钟计数,此时定时器不需要内部时钟(也不需要毛刺过滤时)

LPTIM编码器模式:
LPTIM操作注意点:
1. SNGSTRT/CNTSTRT位必须在定时器使能时写入(即CR:ENABLE位为1时可以写入)
2. 连续运行模式和一次触发模式可以在运行过程中转换,如果当前模式为连续运行模式,置位SNGSTRT将切换至一次触发模式,计数值到达ARR值时,定时器自动停止;如果当前模式为单次触发模式,置位CNTSTRT将切换至连续运行模式,计数值到达ARR值时,定时器自动重启
3. TIMEOUT功能:第一个触发事件启动定时器,接下来的触发事件则复位计数值,重新开始计数
4. 波形发生功能:PWM模式(WAVE=0,CNTSTRT=1)->计数值(CNT寄存器)等于比较值(CMP寄存器)时,输出为高,计数值(CNT寄存器)等于重装载值(ARR寄存器)时,输出为低;单脉冲模式(WAVE=0,SNGSTRT=1)->同PWM模式,但只输出一个脉冲,然后输出持续为低;单次置位模式(WAVE=1)->同单脉冲模式,只是最后的保持电平取决于输出极性配置(又WAVPOL位控制)
5. ARR寄存器的值必须大于CMP寄存器的值
6. PRELOAD位控制ARR和CMP寄存器的数据加载时刻,PRELOAD=0时,写操作会被立即执行;PRELOAD=1时,写操作的值在定时器超时时加载(如果定时器已经启动的话);ARROK和CMPOK状态位分别用于确认ARR和CMP寄存器写操作是否执行完成(未做ARROK和CMPOK判定时的连续写入会导致不可预料的结果
7. CR:ENABLE位置位后,定时器需要2个计数时钟才会被真正启动。CFGR(配置寄存器)和IER(中断使能寄存器)必须在该位为0时才能被修改

作者: RLink, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3918760.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 20
赞赏0

文章评论0条评论)

登录后参与讨论
相关推荐阅读
RLink 2020-10-31 09:24
网站分享
【安富莱】MDK5.29,5.30,5.31,5.32和各种pack软件包镜像下载http://www.armbbs.cn/forum.php?mod=viewthread&tid=96992Unix...
RLink 2020-09-10 14:49
rtthread scons使用备注
1. 更改默认环境变量使用scons编译时,RTT_CC环境变量用于标识编译时使用的工具链,默认配置使用gcc,如果需要修改为iar,则可以编辑文件env_released_1.2.0\env\too...
RLink 2020-07-23 16:20
(转载)中断控制及basepri 与 basepri_max
转载自https://www.cnblogs.com/qiyuexin/p/8921718.html目录FAULTMASKPRIMASKBASEPRIBASEPRI_MAX 正文1、总开关每...
RLink 2020-07-23 11:27
(转载)ucos中的三种临界区管理机制
熟悉ucos,或者读过Jean.J.Labrosse写过的ucos书籍的人,一定会知道ucos中著名的临界去管理宏:OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()。同样是...
RLink 2020-07-23 10:44
(转载)Cortex-M0/M0+屏蔽优先级低于BASEPRI设定的中断
Cortex-M3/M4/M7有BASEPRI特殊功能寄存器可以屏蔽优先级低于BASEPRI设定值的中断,但Cortex-M0/M0+没有BASEPRI寄存器,不过仍然可以实现相识的功能。mingdu...
RLink 2020-07-09 15:12
STM32L系列I2C应用注意
噪音滤波器I2C模块包含模拟噪音滤波器和数字噪音滤波器,其中模拟噪音滤波器可以抑制尖峰宽度高达50ns(满足快速模式协议规格),用户可以选择关闭这一特性;数字滤波器抑制尖峰噪音的长度可以通过软件配置,...
我要评论
0
20
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /3 下一条