写在前面——

本文将介绍嵌入式竞赛实训平台(CT117E-M4)开发板上定时器中断的使用。

目录

一、硬件平台

三、STM32G4系列定时器简介

四、配置过程

五、编写函数

六、总结


一、硬件平台

嵌入式竞赛实训平台(CT117E-M4)是北京国信长天科技有限公司设计、生产的一款“蓝桥杯全国软件与信息技术专业人才大赛–嵌入式设计与开发科目”专用竞赛平台,平台以STM32G431RBT6为主控芯片,预留扩展板接口,可为用户提供丰富的实验场景。

CT117E-M4产片图片

二、软件平台
         KEIL5,STM32CubeMX

三、STM32G4系列定时器简介

从数据手册当中我们可以找到,STM32G431x6/x8/xB设备包括两个高级电机控制定时器、最多六个通用定时器、两个基本定时器、一个低功耗定时器、两个看门狗定时器和一个SysTick定时器。下表比较了高级电机控制、通用和基本定时器的功能。

 表格中所含的信息大致为:

1.高级电机控制定时器(TIM1、TIM8)

先进的电机控制定时器可以看作是8个通道上的四相PWM多路复用。它们具有可编程插入死区时间的互补PWM输出。它们也可以被视为完整的通用计时器。 4个独立通道可用于:

  • 输入捕获
  • 输出比较
  • PWM生成(边缘或中心对齐模式),具有全调制能力(0-100%)
  • 单脉冲模式输出

2.通用定时器(TIM2、TIM3、TIM4、TIM15、TIM16、TIM17)

STM32G431x6/x8/xB设备中最多嵌入六个可同步的通用定时器(差异见上图)。每个通用定时器可用于产生PWM输出,或作为一个简单的时基。

  • TIM2、TIM3和TIM4它们是功能齐全的通用定时器:

–TIM2有一个32位自动加载上/下计数器和32位预分频器

–TIM3和TIM4有16位自动加载上/下计数器和16位预分频器。

这些定时器具有4个独立通道,用于输入捕获/输出比较、PWM或单脉冲模式输出。它们可以 一起工作,也可以通过计时器链接功能与其他通用计时器一起工作,以实现同步或事件链接。计数器可以在调试模式下冻结。它们都有独立的DMA请求生成,并支持正交编码器。

  • TIM15、16和17它们是具有中频功能的通用定时器:

它们有16位自动重新加载计数器和16位预分频器

–TIM15有2个通道和1个互补通道

–TIM16和TIM17有1个通道和1个互补通道

所有通道可用于输入捕获/输出比较、PWM或单脉冲模式输出。定时器可以通过定时器链接功能进行同步或事件链接。定时器具有独立的DMA请求生成功能。计数器可以在调试模式下冻结。

3.基本计时器(TIM6和TIM7)

基本定时器主要用于DAC触发器的生成。它们也可以用作通用的16位时基。

NOTE:需要注意非常重要的一点就是TIM2、TIM3、TIM4、TIM6、TIM7与APB1总线相连,TIM1、TIM8、TIM15、TIM16、TIM17与APB2总线相连,在下面的配置过程中会介绍到。

四、配置过程

(一)时钟配置

通过官方给的例程我们一般将时钟配置为80MHz,这样APB1总线与APB2总线的时钟都是80MHz了,在使用时就很方便了 ,下面的定时器配置就要以80MHz为基础。

(二)定时器配置

基本配置步骤:

1.选择TIM2

2.定时器时钟选择内部时钟

Clock Source(时钟来源)       

  • 选项1 :Internal Clock  内部时钟 
  • 选项2 : ETR2 外部触发输入(ETR)(仅适用TIM2,3,4)

3.配置参数

  • Prtscaler (定时器分频系数):7999
  • Counter Mode(计数模式):Up(向上计数模式)                    
  • Counter Period(自动重装载值):999
  • CKD(时钟分频因子):No Division 不分频 ,选项:  可以选择二分频和四分频
  • auto-reload-preload(自动重装载): Enable 使能
  • TRGO Parameters:触发输出 (TRGO),不使能,与本节无关

TRGO:定时器的触发信号输出  在定时器的定时时间到达的时候输出一个信号(如:定时器更新产生TRGO信号来触发ADC的同步转换)

4.使能定时器中断

NOTE: 定时器溢出时间是这样计算的

这里我们 arr=999,psc=7999,Tclk=80MHz        Tout = (1000*8000)/80us  =  100ms

五、编写函数

首先在主函数初始化区域调用:

  /* USER CODE BEGIN 2 */HAL_TIM_Base_Start_IT(&htim2); //使能定时器中断/* USER CODE END 2 */

在中断回调函数中可以这样写:

/* USER CODE BEGIN 4 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{i++;if(i==10){i=0;HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, 0);HAL_GPIO_WritePin(GPIOE, GPIO_PIN_5, 0);HAL_Delay(100);HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, 1);HAL_GPIO_WritePin(GPIOE, GPIO_PIN_5, 1);}
}
/* USER CODE END 4 */

如果出现程序在延时函数中死循环不出来,可以看看https://blog.csdn.net/m0_57147943/article/details/123518122?spm=1001.2014.3001.5501能不能帮你解决

常用函数:

HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim); //使能定时器
HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim); //停止定时器
/* Non-Blocking mode: Interrupt */
HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim); //使能定时器中断,同时使能定时器
HAL_StatusTypeDef HAL_TIM_Base_Stop_IT(TIM_HandleTypeDef *htim); //停止使能定时器中断,同时停止定时器

六、总结

定时器中断就到这里了,如果此文章对你有帮助,欢迎点赞 关注 收藏 转发

⑤【蓝桥杯】STM32G4嵌入式竞赛实训平台(CT117E-M4)学习——定时器中断相关推荐

  1. STM32单片机开发应用教程 (HAL库版) ---基于国信长天嵌入式竞赛实训平台(CT117E-M4)教程汇总 与第一章 硬件平台简介

    写在前面-- 作为<STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>教程汇总,第一章将介绍国信长天嵌入式竞赛实训平台(CT117E-M4) ...

  2. 《STM32单片机开发应用教程(HAL库版)---基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第二章 软件安装与使用

    写在前面-- 作为<STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>系列之第二章,本章节将介绍开发软件STM32CubeMX和KEIL5的 ...

  3. 《STM32单片机开发应用教程(HAL库版)—基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第四章4.3 按键控制实验

    写在前面-- <STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>第四章4.3 按键控制实验,讲述按键控制的编程方法 官方例程下载:http ...

  4. 《STM32单片机开发应用教程(HAL库版)—基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第四章4.9 TIM---输入捕获(脉冲频率测量)实验

    写在前面-- <STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>第四章4.9 TIM-输入捕获(脉冲频率测量)实验,讲解TIM输入捕获的原 ...

  5. 《STM32单片机开发应用教程(HAL库版)—基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第四章4.1 LED显示控制实验

    写在前面-- <STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>第四章4.1,本节将通过LED显示控制实验,学习STM32G431的开发技 ...

  6. 在线大数据 / AI竞赛实训平台深度技术解析 | 文末抽奖

     点击"蓝字"关注我们 文末抽奖!留言区留下你的学习心得或疑问,点赞数前3名的粉丝,炫酷奖品等你拿! 12月24日晚,智领云第五次社群图文技术直播如约而至.本次直播由智领云云平台部 ...

  7. 凯云科技——嵌入式系统测试教学实训平台ETest_TP

    1)产品简介 嵌入式系统测试教学实训平台(ETest Training Platform,简称:ETest_TP )适用于各类高等院校与培训机构在嵌入式系统测试方面的科研与教学以及军工研究所.各研发型 ...

  8. 嵌入式系统测试教学实训平台(ETest_TP)系统描述

    一.系统描述 1.拟选厂商简介 凯云联创(北京)科技有限公司(简称:凯云科技)成立于2014年,核心业务是为军方.航空航天.中电.兵器.船舶.核工业.核物理.院校.交通.水利水电.通信以及金融等行业提 ...

  9. 工业机器人与视觉实训平台

    ZN-RAI02工业机器人与视觉实训平台 一.概述 1.ZN-RAI02工业机器人与视觉实训平台以工业机器人与机器视觉为核心,将机械.气动.运动控制.变频调速.PLC控制技术有机地进行整合,结构模块化 ...

最新文章

  1. PHP 错误抛出及自定义处理
  2. 拖拽的原生和jQuery写法
  3. 理清 WebSocket 和 HTTP 的关系
  4. 在Elasticsearch中索引Java Bean的简单方法
  5. 【转载】JAVA的泛型和C++的模板的区别与联系
  6. Android BaseAdapter应用基础
  7. node + express + sockio 在线聊天室
  8. 重装系统后电脑只剩下C盘怎么办?怎样给电脑磁盘分区增加盘符?
  9. 利用计算机Tracert,计算机网络 Tracert 命令
  10. Matlab似然比检验函数,似然比检验 LRT
  11. 视频播放–AVPlayer
  12. 在腾讯,我们如何做 Code Review
  13. R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍
  14. Log4j日志框架介绍
  15. Python 冒泡法
  16. 手游竞争白热化 虎牙直播率先抢占手游新“蓝海”
  17. 简介常见的四种类型的J2EE架构
  18. 如何让计算机无法开机,详细教您如何电脑开不开机
  19. JAVA中校验密码的正则表达式
  20. Linux 使用yum安装Java

热门文章

  1. 51nod 1679 连通率
  2. android缓冲机制,Android自定义View之双缓冲机制和SurfaceView
  3. 58. 通俗易懂的 SAP ABAP 会话管理(Session Management)概念讲解,包含具体的实例
  4. 白话点云dgcnn中的pairwise_distance
  5. Sklearn中pairwise_distances_argmin
  6. 【华人学者风采】张强 北京大学
  7. 安徽大学计算机是双一流吗,安徽大学是双一流大学吗,有哪些一流学科?
  8. java获取地址经纬度
  9. Apk的编译打包过程
  10. 【跃迁之路】【639天】程序员高效学习方法论探索系列(实验阶段396-2018.11.12)...