×
单片机 > 单片机程序设计 > 详情

STM32CubeMX学习笔记——STM32H743通用定时器

发布时间:2020-05-28 发布时间:
|

功能简述

主模式TIM2的中断作为从模式TIM3的时钟输入

(级联定时器)

红灯亮6灭5 频率1hz

绿灯亮3灭3 频率0.5hz


STM32CubeMX配置

STM32CubeMX版本:4.27.0

配置流程:

Pinout界面选择并开启需要的LED控制引脚

Clock Configuration配置时钟树

Configuration界面配置System

生成工程


Pinout配置

LED输出PIN配置,TIM2,TIM3的基本配置


Clock Configuration配置

开启系统时钟,设置TIM2、TIM3时钟(APB1)


Configuration

左侧主要系统功能的开启,或中间软件层功能的开启(如:RTOS、JPEG解码器,文件系统等)

右侧是系统及外设模块的具体配置


GPIO

输出配置


TIM3

周期=((1+TIM_Prescaler )/时钟)*(1+TIM_Period )

分频:62499

计数模式:向上计数

重装值:99

时钟分割:0 (数字滤波器相关)

自动重装:开启

MSM:关闭(开启将在该定时器使能的同时TRGO发出信号)

触发事件选择:更新


TIM2

周期=((1+TIM_Prescaler )/时钟)*(1+TIM_Period )

分频:0

计数模式:向上计数

重装值:1

时钟分割:0 (数字滤波器相关)

自动重装:开启

由于TIM2作为从定时器,它的时钟实际是TIM3的中断信号


NVIC




代码部分

main.c


/* USER CODE BEGIN 2 */

HAL_TIM_Base_Start_IT(&htim3);

HAL_TIM_Base_Start_IT(&htim2);

  /* USER CODE END 2 */

/* USER CODE BEGIN WHILE */

  while (1)

  {


  /* USER CODE END WHILE */


  /* USER CODE BEGIN 3 */

HAL_Delay(10000);

HAL_TIM_Base_DeInit(&htim3);

  }

  /* USER CODE END 3 */


stm32h7xx_it.c

/* USER CODE BEGIN 1 */

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

{

if(htim->Instance == TIM2)

HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);

if(htim->Instance == TIM3)

HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);

}

/* USER CODE END 1 */


备注

通用定时器的多种用法在RM0433 第39章


关键字:STM32CubeMX  STM32H743  通用定时器

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32 TIMER2的使用