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

【经验分享】stm32使用cubeMX配置TIM定时器让LED灯闪烁

[复制链接]
STMCU小助手 发布时间:2022-5-22 21:00
前言
本文将介绍stm32定时器的使用。

一、定时器介绍
定时器是单片机内部的特殊功能模块。

在控制系统中,常常要求有一些实时时钟以实现定时或者延时控制,如定时中断、定时检测、定时扫描等等,也往往要求有计数器,对外部事件进行计数。

要实现定时或者延时功能,一般有三种方法:软件定时,不可编程硬件定时,可编程硬件定时。

软件定时——让软件循环执行一段程序,程序本身并无执行目的,而是通过执行程序延时固定的时间,也就是以前的程序中经常使用的延时程序。这种方法降低了cpu的利用率。

不可编程硬件定时——如外部芯片555 时基电路,通过外部阻容,达到一定的延时功能,改变阻容大小可以改变延时长度。这种定时器取决于硬件,设定好以后不能通过软件更改。

可编程定时器——这种定时器的定时值可以通过软件确定和修改,使用灵活便捷。

二、CubeMX配置及工程代码讲解
1.CubeMX配置

1.选择单片机型号
6YQ_U~7O`TN]0C9NE`KA_LY.png

2.设置引脚功能

5]6~5R092MSHKHLWCCQHB~A.png

3.选择时钟源

5NV{[K}T)BKKP(X7PMK$}@3.png

4.开启Debug仿真

%`TKM6U%[MPOP3X{YNH8CVA.png

5.配置定时器

U9D(YB@U9C1PPCWN}LJS~NH.png

]H4%FXO7YO3W)0JQF818W.png

定时器定时时间简单计算方法:这里我们时钟树选择的时钟频率是72MHZ,用72MHZ/72/50000就得到了计数的频率然后再取倒数就是我们想要的定时时间了。

6.配置时钟树

@6Q}6X}1KLYOYNQ)C8_IU17.png

7.创建工程

]@1U`Y9((R`5D2D~XP%U~(N.png

2.代码讲解


  1.   /* USER CODE BEGIN 2 */
  2.   //start TIM1
  3.   HAL_TIM_Base_Start_IT(&htim1);//以中断方式启动定时器
  4.   /* USER CODE END 2 */

  5. /* USER CODE BEGIN 0 */
  6. //当到达指定定时值时进入中断执行中断任务
  7. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  8. {
  9.   if(htim==&htim1)
  10.   {
  11.     HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5);//对GPIO口的电平进行反转(低-高,高—低)
  12.   }
  13. }
复制代码

总结
本文简单讲述了定时器中断的使用,主要就是要注意中断回调函数的使用方法,以及打开定时器的方法。



收藏 评论0 发布时间:2022-5-22 21:00

举报

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