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

STM32L4的TIMER定时器中断

[复制链接]
STMCU小助手 发布时间:2022-8-27 14:47
在上新建工程的基础上添加使用TIMER功能(新建工程见STM32使用LL库建立工程)

一、CubeMX的配置
使能定时器6即可
20200202214222123.png

然后重要的是工程设置里,将HAL改成LL

20200202214307954.png

然后便可以生成代码

20200110160627106.png

二、用户代码修改
将TIM6初始化代码修改为如下,放入新建的timer6.c文件

  1. /**
  2. * @brief        基本定时器6中断初始化函数
  3. *                        定时器溢出时间计算方法:Tout=((arr+1)*(psc+1))/Ft us.
  4. *                        Ft=定时器工作频率,单位:Mhz
  5. *                        这里使用的是定时器6!(定时器6挂在APB1上,时钟为HCLK:80Mhz)
  6. *
  7. * @param   arr                自动重装值。
  8. * @param   psc                时钟预分频数
  9. *
  10. * @return  void
  11. */
  12. void TIM6_Int_Init(u16 arr,u16 psc)
  13. {
  14.         LL_TIM_InitTypeDef TIM_InitStruct;

  15.         LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM6);//使能TIM6时钟

  16.         /* TIM6 interrupt Init */
  17.         NVIC_SetPriority(TIM6_DAC_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),1, 3));
  18.         NVIC_EnableIRQ(TIM6_DAC_IRQn);

  19.         TIM_InitStruct.Prescaler = psc;  //定时器分频
  20.         TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; //向上计数模式
  21.         TIM_InitStruct.Autoreload = arr;         //自动重装载值
  22.         TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1;//时钟分频因子
  23.         LL_TIM_Init(TIM6, &TIM_InitStruct);

  24.         LL_TIM_EnableIT_UPDATE(TIM6);        //允许更新中断
  25.         
  26.         LL_TIM_EnableCounter(TIM6);                //使能定时器6
  27.         
  28. }
复制代码

然后在定时器中断服务函数里加入LED翻转

  1. //定时器6中断服务函数
  2. void TIM6_DAC_IRQHandler(void)
  3. {
  4.         if(LL_TIM_IsActiveFlag_UPDATE(TIM6)==SET)        //溢出中断
  5.         {
  6.                 LED_TogglePin();        //LED翻转
  7.         }
  8.         LL_TIM_ClearFlag_UPDATE(TIM6);        //清除中断标志位
  9. }
复制代码

在主函数里将tim6初始化

  1. TIM6_Int_Init(2000,8000 - 1);        //200ms
复制代码

编译链接下载到开发板里,测试测试成功
————————————————
转载:Willliam_william


收藏 评论0 发布时间:2022-8-27 14:47

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版