目录

一、定时器简介

1.STM32定时器的定义

2.STM32定时器的分类

二、创建工程项目

三、编写代码

1.在main.c写入以下函数

2.编译运行

四、烧录

1.电路连接

2.效果

五、总结

六、参考文献


一、定时器简介

1.STM32定时器的定义

定时器顾名思义就是可以用来定时的,我们可以设置想要的定时时间,然后去做很多事情。STM32的定时器功能很强大,可以用来定时、计数、PWM产生、输入捕获以及定时器中断等。

2.STM32定时器的分类

总的来说就是用来定时的机器,是存在于STM32单片机中的一个外设。STM32总共有8个定时器,分别是2个高级定时器(TIM1、TIM8),4个通用定时器(TIM2、TIM3、TIM4、TIM5)和2个基本定时器(TIM5、TIM6)。

这三种定时器的区别如下:

 注:高级定时器具有捕获/比较通道和互补输出,通用定时器只有捕获/比较通道,基本定时器没有以上两者。

二、创建工程项目

选择芯片STM32F103C8T6:

 配置RCC:

配置SYS:

 配置GPIO。将PA6配置为GPIO_Output:

配置定时器TIM2:

 配置USART:

配置NVIC:

 项目设置:

  打开项目:

三、编写代码

1.在main.c写入以下函数

HAL_TIM_Base_Start_IT(&htim2);//启动定时器2

//定时器回调函数
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{static uint32_t time_cnt =0;static uint32_t time_cnt1 =0;if(htim->Instance == TIM2){if(++time_cnt >= 20){time_cnt =0;HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_6);}if(++time_cnt1 >= 50){time_cnt1 =0;HAL_UART_Transmit(&huart1, (uint8_t *)&ljr, sizeof(ljr),0xFFFF);}}
}

2.编译运行

四、烧录

1.电路连接

3v3-3v3

GND-GND

PA5-二极管正极

GND-二极管负极

PA9-RXD

PA10-TXD

2.效果

 

五、总结

通过本次实验,对于中断和定时器的使用有了更深的理解和运用。可以用定时器来设置定时中断以达到更精确的控制,让中断重复发生,让程序可以更好的受到控制,实现我们想要的效果。

六、参考文献

STM32-定时器详解_KevinFlyn的博客-CSDN博客_stm32定时器

STM32CUBEMX_定时器控制LED闪烁 | MCU起航

用定时器Timer方式实现时间的精准控制相关推荐

  1. 【嵌入式系统开发15】STM32F103C8T6下通过定时器Timer方式实现时间的精准控制,实现串口通信并让LED等周期性地闪烁

    本文目的是主要介绍通过STM32F103C8T6采用定时器Timer方式实现时间的精准控制,相当于给CPU上了一个闹钟,CPU平时处理其它任务,当定时时间到了以后,处理定时相关的任务.请设置一个5秒的 ...

  2. 通过定时器Timer方式实现时间的精准控制

    目录 一.定时器的介绍 1.定时器概念及作用 2.定时器的分类 (1)硬件定时器 (2)软件定时器 (3)系统滴答定时器(SysTick) (4)实时时钟(RTC) 二.新建cubemx项目 1.选择 ...

  3. 定时器Timer方式实现时间的精准控制

    什么是定时器 就是用来定时的机器,是存在于STM32单片机中的一个外设.STM32总共有8个定时器,分别是2个高级定时器(TIM1.TIM8),4个通用定时器(TIM2.TIM3.TIM4.TIM5) ...

  4. 用定时器Timer方式实现LED周期性闪烁

    文章目录 一.环境配置 二.定时器简介 三.用STM32CubeMX配置工程 四.用Keil配置代码 五.运行效果 六.总结 七,参考资料 一.环境配置 软件:STM32CubeMX:6.6.1 Ke ...

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

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

  6. 定时器Timer实现时间精准控制

    Timer方式实现时间的精准控制,当定时时间到了以后,处理定时相关的任务 一.配置环境 1.步骤如下 (1)新建工程,进行基本配置 (2)配置IO (3)配置定时器 (4)配置中断 (5)时钟配置 ( ...

  7. 通过定时器的Timer方式替代delay/Hal_delay函数进行定时

    文章目录 前言 一.设置一个5秒的定时器,每隔5秒从串口发送"hello windows!" 1.创建工程项目 2.项目配置 3.代码编写 1.重定向printf函数 2.定时器代 ...

  8. Linux内核深入理解定时器和时间管理(4):定时器 timer

    Linux内核深入理解定时器和时间管理 定时器 timer rtoax 2021年3月 在原文基础上,增加5.10.13内核源码相关内容. 1. Timers This is fourth part ...

  9. linux定时器回调处理过程,Linux内核系统定时器TIMER实现过程分析

    可见涉及到系统定时器的数据结构并不多,那么:对于一个linux系统中,定时器个数可能会很多,而且每个定时器的超时事件时间并不相同,所以如何管理和处理定时器超时事件,关系到内核性能的高低.它根据不同的定 ...

最新文章

  1. NeurIPS 2020论文评审结果出炉,提前拒稿、作者审稿惹争议,网友:改投别家吧...
  2. 3D视觉应用开发--机器人3D互动四大技术难点分析
  3. java中打开文件显示_从java程序中打开任何文件
  4. 3.软件开发的本质和基本手段
  5. oracle 快速上手,Oracle学习笔记:快速上手
  6. 关于汉诺塔,C++代码,代码效果演算
  7. SAP Spartacus lock directive锁住元素所有子元素及设置FOCUS_GROUP_ATTR的行为
  8. maven项目多模块部署的时候构建顺序
  9. ideahtml调用jquery函数失败_[WEB篇]-JQuery-06-Jquery实现异步调用
  10. How Do I? Videos for Devices
  11. LTE中SRB---无线资源承载
  12. 错误1406.无法将数值写入键/Software/Classess/.htm/OpenWithList/devenv.exer的解决方案
  13. 力扣刷题 DAY_78 贪心
  14. Android开发:LocationManager获取经纬度及定位过程(附demo)
  15. 嵌入式linux学习笔记--TCP通讯整理
  16. Git+Pandoc配置Word文档版本控制
  17. ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supp
  18. Ubuntu 18.04 ———(Intel RealSense D435i)运行VINS-Mono
  19. vue渲染数据后顺序乱了
  20. 前端还是后端,该怎么选择

热门文章

  1. 将CAD图纸转换为PDF文件时怎么修改页面大小
  2. esp32 io速度_ESP32快速入门指南
  3. Ubuntu16.04-设置阿里云下载源
  4. Azure云击败AWS的12种方式
  5. 华为新手机采用自由曲面镜头,理工男的浪漫or追求技术的极致
  6. QQ登录IE下iframe跨域session和cookie失效问题的解决方案
  7. ios刺激战场连接服务器没有响应,问题解决 | 《刺激战场》官方适配苹果篇
  8. 双11到了,这家硅谷巨头为何想跟阿里巴巴抢这块地盘?
  9. 机器人也会搞文艺?YuMi刷新了你的眼球,当上了乐队指挥
  10. Unity 3D模型展示之生成标注