一知半解学习环境:
1、CubeMX 4.23.0
2、uVision 5.14.2
3、MCU 启明 STM32F407 开发板(高配版) V3.1
一知半解学习目标:
1、掌握CubeMX下RCC以及SYS的相关配置;
2、掌握CubeMX下GPIO的相关配置;
3、掌握CubeMX下定时器常规中断的配置;
一知半解实现过程:
1、配置系统调试接口及时基时钟源;
2、配置外部高速时钟源(HSE);
3、配置定时器参数(TIM1);
4、根据原理图配置相应GPIO引脚并修改宏定义名称;
5、配置时钟树,主频168M;
6、配置管脚默认输出状态及速率;
7、配置定时器预分频及装载值,开启定时器中断;
由于此处选择的是定时器1(TIM1),该定时器挂载在APB2总线上,因此TIM1时钟为168M。为了使LED间隔0.5S翻转,需要配置TIM1的中断时间为0.5S,为了方便计算预分频值定为 16800-1,装载值为5000-1; ((168M/16800)/5000) = 2Hz,即周期为0.5S。
8、生成工程,并添加相关程序;
首先,main.c程序中添加(放置于定时器配置之后)开启 TIM1计时中断;
/* USER CODE BEGIN 2 */
/*使能定时器1中断*/
HAL_TIM_Base_Start_IT(&htim1);
/* USER CODE END 2 */
其次,在 tim.c文件中添加定时器中断完成回调函数;
/* USER CODE BEGIN 1 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){
if (htim->Instance == TIM1){
/* Toggle LED */
HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin);
HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);
}
}
/* USER CODE END 1 */
一知半解套路回顾:
1、掌握CubeMX配置的常规套路,如SYS、RCC以及时钟树的配置等;
2、掌握TIM中断开启函数的使用;
3、掌握定时器中断回调函数的使用;
关键字:CubeM TIM 定时中断 LED闪烁
引用地址:
一知半解学CubeMX——TIM:定时中断实现LED闪烁
推荐阅读最新更新时间:2024-03-16 16:05
单片机中关于定时中断1和3
一、定时器的结构以及工作原理 MCS-51单片机内部有两个16位可编程定时器/计数器,即定时器T0和定时器T1。他们既可以用作定时器的方式,又可以用作计数器的方式,共4种不同的工作方式 寄存器TMOD用于控制T0和T1的工作方式,可通过编程设置TMOD来决定工作方式。 CATE C/T M1 M0 GATE C/T M1 M0 M1M0为工作方式控制位,我们常用工作方式1,若要设置T0以 方式1 工作,可使用TMOD=0X01;来设置。 定时/计数器的核心是16位加法计数器,T0的加法计数器由两个8位寄存器TH0,TL0构成,TH0表示加法计数器的高八位。TL0表示加法计数
[单片机]
51单片机中断系统详解(定时器、计数器)
51单片机中断级别 中断源 默认中断级别 序号(C语言用) INT0---外部中断0 最高 0 T0---定时器/计数器0中断 第2 1 INT1---外部中断1 第3 2 T1----定时器/计数器1中断 第4 3 TX/RX---串行口中断 第5 4 T2---定时器/计数器2中断 最低 5 中断允许寄存器IE 位序号 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 符号位 EA ------- ET2 ES ET1 EX1 ET0 EX0 EA---全局中允许位。 EA=1,打开全局中断控制,在此条件下,由
[单片机]
89C51单片机定时/计数器中断
一、汇编语言 编写51单片机定时/计数中断响应程序 ORG 0000H LJMP MAIN ORG 000Bh LJMP ZD0 ORG 0040H MAIN: MOV TH0,#0d8h MOV TL0,#0e8h MOV A,#0FEh SETB EA SETB ET0 SETB TR0 SJMP $ ZD0: MOV P2,A MOV TH0,#0d8h MOV TL0,#0f0h inc r3 CJNE r3,#99D,ddd mov r3,#00h inc r4 CJNE r4,
[单片机]
多任务系统看门狗的实现
看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。 看门狗本身不是用来解决系统出现的问题,在调试过程中发现的故障应该
[应用]
STM32F1x系列——定时器中断
一 通用定时器的工作过程如下图: 二 计数器模式: (1)向上计数模式:计数器从0计数到自动加载值,然后重新从0开始计数并且产生一个计数器溢出事件 (2)向下计数模式:计数器从自动装入的值开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出的事件 (3)中央对齐模式(向上/向下计数):计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1,并且产生一个计数器溢出事件,然后再从0开始计数 通用定时器常用寄存器和库函数: (1)定时器使能函数:void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState) (2)定
[单片机]
STM8 定时器中断程序
系统功能 使用STM8定时器做1S定时,并使用LED作出简单指示! 硬件设计 本设计基于内部RC振荡器2M时钟作STM8定时器TIM4的时钟源进行1S定时! LED控制电路原理图 软件设计 /********************************************************************* 目标系统: 基于STM8单片机 应用软件: Cosmic CxSTM8 *********************************************************************/ /* ----------------------------
[单片机]
stm8s定时器tim4使用方法解析
stm8s定时器TIm4概述 该定时器由的8可位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。 TIM6同时钟信号控制器用于定时器同步和级联。 STM8通用定时器TIM4的主要功能 TIM4功能包括: 1、8位向上计数的自动重载计数器; 2、3位可编程的预分配器(可在运行中修改),提供1,2,4,8,16,32,64和128这8种分频比例。 3、中断产生 –在计数器更新时:计数器溢出 STM8通用定时器TIM4功能概述 (TIM4框图 ) 中断 通用定时器包括2个中断源: 更新中断(溢出,计数器初始化); 触发信号输入(
[单片机]
STM32利用定时器1控制LED闪烁
配置LED灯 //PC13 void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, &GPIO_InitStructure); }
[单片机]