当前位置: 首页 > article >正文

正点原子--STM32定时器学习笔记(1)(更新中....)

F1系列基本定时器(TIM6 / TIM7)

我们的目标是通过TIM6基本定时器定时500ms,让LED0每隔500ms闪一下!

思路:使用定时器6,实现500ms产生一次定时器更新中断,在中断里执行“翻转LED0”。

定时器什么时候会产生更新中断呢?

有两种情况:第一种是定时器计数到ARR值后溢出,这时会伴随更新事件和更新中断的产生;第二种是通过软件的方式,设置UG位产生软件的更新中断,从而产生更新中断

1.工程建立

也是以正点原子HAL库 实验1 跑马灯实验为基础,相当于是工程模板了,我们复制工程,在“Drivers--BSP”目录下建立TIMER文件夹,并创建tim.c和tim.h文件;

2.导入tim.c文件

导入方法和上篇帖子一样,不清楚的小伙伴可以参考⬇⬇⬇⬇⬇

正点原子--STM32中断系统学习笔记(2)

在tim.h文件中添加这部分代码(之后自己新建的.c和.h文件都会按照此模板创建)

#ifndef _TIM_H
#define _TIM_H
#include "./SYSTEM/sys/sys.h"

#endif

3.编写代码

我们按照正点原子给的步骤一步步来配置,最重要的是学习配置思路,一通百通!!

定时器中断实验配置步骤:

1,配置定时器基础工作参数

2,定时器基础MSP初始化

3,使能更新中断并启动计数器

4,设置优先级,使能中断

5,编写中断服务函数

6,编写定时器更新中断回调函数


今天周五时间有点晚,先发一下,明天白天再写


http://www.kler.cn/a/226382.html

相关文章:

  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TimePicker组件
  • 【Spark系列6】如何做SQL查询优化和执行计划分析
  • 三步实现 Sentinel-Nacos 持久化
  • Redis常用数据类型--Hash
  • C#学习笔记_继承
  • vue-3d-model
  • 极限存在法则【高数笔记】
  • 八. 实战:CUDA-BEVFusion部署分析-学习spconv的优化方案(Implicit GEMM conv)
  • C++:输入流/输出流
  • SpringBoot security 安全认证(三)——自定义注解实现接口放行配置
  • MyBatis常见面试题汇总
  • 云原生 API 网关链路追踪能力重磅上线
  • 用户体验优化:HubSpot的秘密武器
  • 深度解读NVMe计算存储协议-3
  • Xlua分析:C#调用Lua
  • 在 Elastic Agent 中为 Logstash 输出配置 SSL/TLS
  • 作业帮面试题汇总
  • 【脑电信号处理与特征提取】P5-彭薇薇:脑电信号的预处理及数据分析要点
  • 一站式在线协作开源办公软件ONLYOFFICE,协作更安全更便捷
  • QT中QThread, QTimer的使用(完整代码)