你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32L0Cube之低功耗定时器LPTIM编程笔记

[复制链接]
STMCU小助手 发布时间:2021-11-19 22:00
1 在STM32Cube中激活LPTIM
, B: @8 L, l. O7 Z7 T* t$ o, \+ s, w; Q2 j8 B3 H9 a" n  ~
20180112111311225.png
7 G, Z" \, X! g  T
一.LPTIM超时产生中断详解4 z* O* k+ \6 |! d9 G
使用的库函数为:
* O) Z  l  N- J" d+ f5 q
  1. HAL_StatusTypeDefHAL_LPTIM_TimeOut_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period,uint32_t Timeout)
复制代码
定时时间的计算公式:
$ j$ D7 k. Y) O- p& E8 ^& G8 n# x# A
  1. <p>         /*  Timeout = (Compare + 1) / LPTIM_Clock</p><p>" i- q& b4 i3 I4 u4 J( p
  2. </p><p>       Timeout = (Period + 1) / LPTIM_Clock</p>
复制代码
/ P$ V8 r; }# v% Q3 A
LPTIM_Clock:低功耗定时器时钟:在CUBU软件中
2 P# H: b6 @, j( ~& a# `, V. N9 M5 Z9 E6 A' t9 N$ L2 Q
20180112111334018.png
/ a& w' w& L9 f  y6 ~
具体使用到哪一个时钟,就选这个时钟作为计算  例如:16Mhz6 f4 Y* a; j( g8 q
定时1s:   1s=( Period+1)/16000000  
  M- U) B/ S4 W# m) W; v使用的中断函数为:: J; w2 k' @1 Z6 v6 B0 |
  1. /**/ k; l# O, \, e- Y, t
  2. - M, F" B7 h& @7 j4 H
  3.   *@brief  Compare match callback in nonblocking mode
    ! H# j3 p/ z& O1 `, b* O8 t
  4. : Q: u& d2 Y4 [( y9 ^& Y3 B
  5.   *@param  hlptim : LPTIM handle3 N9 f3 g5 E7 r* `! Q

  6. 5 w  {* @% S* o! ?! T/ t
  7.   *@retval None2 E" \9 ]+ g, |; a# S5 `4 f5 t# N

  8. 0 ]* N2 A0 F4 ?1 A
  9.   */0 L1 G$ O$ [( S$ U5 _

  10. & M# }0 U5 R8 U1 A9 x1 D( s
  11. void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef*hlptim)
    1 b! l; b1 |. }+ _! u

  12. 2 T* k1 C& j4 Y/ ~3 Q
  13. {5 k. C  S6 M7 Q' ]4 R2 y
  14.   /*Timeout was reached, turn on LED2 */
    - B& w' ]+ l  x; r: @

  15. $ b+ [  L" s* G1 }9 b
  16.   //这里写中断服务函数6 E; |$ X: d2 O, a" Q
  17. }
复制代码
6 u0 `, d/ W. [1 W+ P5 D
- o5 y, K" [+ {8 q

: D* f! h- {  M5 W1 u1 x9 j- Q
收藏 评论0 发布时间:2021-11-19 22:00

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版