硬汉嵌入式论坛

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

[TIMER] STM32H7的低功耗定时器超时函数HAL_LPTIM_TimeOut_Start_IT使用注意事项

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2019-1-11 00:52:37 | 显示全部楼层 |阅读模式
函数:
  1. void bsp_StartLPTIM(void)
  2. {
  3.         /*
  4.            ARR是自动重装寄存器,对应函数HAL_LPTIM_TimeOut_Start_IT的第2个参数
  5.            Compare是比较寄存器,对应函数HAL_LPTIM_TimeOut_Start_IT的第3个参数

  6.            ---------------------
  7.            LSE = 32768Hz
  8.            分频设置为LPTIM_PRESCALER_DIV8,即8分频(函数bsp_InitLPTIM里面做的初始化配置)
  9.            ARR自动重载寄存器 = 32768
  10.            实际测试发现溢出中断与ARR寄存器无关,全部由第3个参数,Compare寄存器决定
  11.        
  12.            LPTIM的计数器计数1次的时间是 1 / (32768 / 8) = 8 /32768。
  13.            第三个参数配置的是32767,那么计数到32767就是 (32767 + 1)*(8 /32768) = 8秒,计算的时候要加1。
  14.         */
  15.         if (HAL_LPTIM_TimeOut_Start_IT(&LptimHandle, 0, 32767) != HAL_OK)
  16.         {
  17.                 Error_Handler(__FILE__, __LINE__);
  18.         }
  19. }
复制代码


实际上超时函数使能的是比较匹配中断,所以实际的超时时间由Compare寄存器决定
QQ截图20190111005200.jpg
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
发表于 2019-1-11 10:15:51 | 显示全部楼层
内核的东东研究的很深啦
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 01:30 , Processed in 0.149038 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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