文章目录

  • 前言
  • 一、基本定时功能
  • 二、PWM功能
    • 1、普通定时器PWM功能

前言


一、基本定时功能

1、工程基本设置(时钟树、RCC选择、SYS)
2、进入TIMx-Mode-Clock Source选择Internal Clock
3、定时时间计算公式

定时时间 = (Prescaler+1)× (Counter +1)/ 定时器时钟频率
例如:定时时间为 1ms,可设置Prescaler = 72-1;
Counter = 1000- 1;(TIM2时钟频率设置为72MHz)

4、使能定时器中断,生成工程

5、加入代码
(1)在hal_tim.c中找到启动定时器中断函数,加入到主函数初始化中

  /* USER CODE BEGIN 2 */HAL_TIM_Base_Start_IT(&htim2);/* USER CODE END 2 */

(2)在hal_tim_ex.c中有个回调函数,复制到主函数中,并加入功能;

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){if(htim->Instance == TIM2){//用户代码}
}

二、PWM功能

1、普通定时器PWM功能

1、工程基本设置(时钟树、RCC选择、SYS)

2、进入TIMx-Mode-Clock Source选择Internal Clock,选择你所使用的PWM通道
3、根据定时时间的计算公式设置你的PWM频率

例如:
定时时间为 1ms,可设置Prescaler = 72-1;
Counter = 1000 - 1;
(TIM2时钟频率设置为72MHz),则PWM频率为1KHz。

4、生成工程
5、加入你的代码
(1)初始化中加入定时器启动函数

  /* USER CODE BEGIN 2 */HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);/* USER CODE END 2 */

(2)设置PWM占空比

  while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */__HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,500);}

500与设置的计数值有关,前面设置计数值为1000,则500表示占空比为50%。

HAL库TIM定时器相关推荐

  1. STM32F4系列HAL库配置定时器实验——输入捕获

    STM32F4系列HAL库配置定时器实验--输入捕获 输入捕获简单讲解 输入捕获模式可以用来测量脉冲宽度或者测量频率.我们以测量周期和频率为例,用一个简图来说明输入捕获的原理 假定定时器工作在向上计数 ...

  2. hal库开启中断关中断_STM32对HAL库的定时器中断

    从串口中断,到外部中断再到现在的定时器中断,越来越感觉HAL库应用比较好用,虽然一开始理解上面有点怪,但是网上查询一下就能够学会. 定时器中断分为两个重点,1.在应用CUBEMX时配置定时器的分频数以 ...

  3. 【STM32】HAL库 STM32CubeMX教程六----定时器中断

    前言: 今天我们来学习定时器,32的定时器有着非常丰富的功能, 输入捕获/输出比较,PWM,中断等等.是我们学习STM32最频繁使用到的外设之一,所以一定要掌握好,这节我们讲解定时器中断,本系列教程将 ...

  4. STM32控制步进电机:基于HAL库定时器中断的闭环步进电机驱动+精准控制脉冲数

    STM32控制步进电机:基于HAL库定时器中断的闭环步进电机驱动+精准控制脉冲数 一.步进电机闭环驱动器 二.CubeMx配置 1.Clock Configuration 2.脉冲端 定时器配置 3. ...

  5. STM32F103C8T6基础开发教程(HAL库)—点亮第一颗LED灯

    STM32F103C8T6基础开发教程目录 STM32F103C8T6基础开发教程(HAL库)-开发环境配置 STM32F103C8T6基础开发教程(HAL库)-Keil添加注释的快捷键 STM32F ...

  6. STM32F103C8T6基础开发教程(HAL库)—开发环境配置

    STM32F103C8T6基础开发教程目录 STM32F103C8T6基础开发教程(HAL库)-开发环境配置 STM32F103C8T6基础开发教程(HAL库)-Keil添加注释的快捷键 STM32F ...

  7. STM32F103C8T6基础开发教程(HAL库)—LED灯1S周期闪烁

    STM32F103C8T6基础开发教程目录 STM32F103C8T6基础开发教程(HAL库)-开发环境配置 STM32F103C8T6基础开发教程(HAL库)-Keil添加注释的快捷键 STM32F ...

  8. 正点原子STM32(基于HAL库)3

    目录 高级定时器实验 高级定时器简介 高级定时器输出指定个数PWM 实验 高级定时器输出指定个数PWM原理 TIM1/TIM8 寄存器 硬件设计 课堂源码(输出指定个数PWM灯就闪几次) 程序设计 下 ...

  9. STM32F103C8T6基础开发教程(HAL库)—Keil添加注释的快捷键

    STM32F103C8T6基础开发教程目录 STM32F103C8T6基础开发教程(HAL库)-开发环境配置 STM32F103C8T6基础开发教程(HAL库)-Keil添加注释的快捷键 STM32F ...

最新文章

  1. 串口基础类库(WIN32)异步通信 _COM_H 源代码
  2. Jira 6.0.5的详细安装及汉化授权
  3. 科大星云诗社动态20210203
  4. 【Java NIO】一文了解NIO
  5. 【Uva 12093】Protecting Zonk
  6. AXI_05 AXI_FULL_IP的设计与验证
  7. Redis的几种拓展方案,你都清楚吗?
  8. JavaScript实现MVVM之我就是想监测一个普通对象的变化
  9. 遇到了火狐扩展全部丢失的问题
  10. 如何在github上搭建一个免费的 无限流量的静态网页博客Github pages
  11. 上传卡正在交付_建行实体卡、虚拟卡一起秒批,不面签不面取,有卡直提8w!...
  12. java连接mysql,报错Could not create connection to database server.
  13. Java多用户商城系统B2B2C源码-(九)服务链路追踪(Spring Cloud Sleuth)
  14. Mac Finder不显示侧边栏
  15. 运算放大器知识体系-电流检测放大器
  16. Flutter 热更新功能实现
  17. 基于PHP+MySQL的大学生求职招聘网站
  18. 英特尔Thunderbolt(雷电)控制器驱动
  19. 两分钟内教会你如何给视频加配音,快速掌握配音技巧!
  20. Allegro PCB Design GXL (legacy) - Merge Shapes(合并形状)

热门文章

  1. 深交所互动易问答平台关注内容提醒方法
  2. php代码实现微信代扣,PHP开发微信支付的代码分享
  3. 【小玩意】访客记录查询
  4. 视频转GIF软件有什么
  5. 中蜂几月份自然分蜂_中蜂分蜂时间是什么时候?
  6. 17届智能车竞赛技术报告 | 北京科技大学无线充电组
  7. 美股外汇市场量化接口有哪些优点?
  8. VMWare中份额、限制、预留的概念区分
  9. 电脑检测VT开启失败处理
  10. windows下rocketMq后台无窗口启动sever和brocker