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

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

  • Github
  • 功能简述
  • STM32CubeMX配置
    • Pinout配置
    • Clock Configuration配置
    • Configuration
      • GPIO
      • TIM3
      • TIM2
      • NVIC
  • 代码部分
    • main.c
    • stm32h7xx_it.c
  • 备注

Github

https://github.com/HaHaHaHaHaGe/Planof2019_half/tree/master/Course_Project/STM32H7/Class03_TIMER

功能简述

主模式TIM2的中断作为从模式TIM3的时钟输入
(级联定时器)
红灯亮6灭5 频率1hz
绿灯亮3灭3 频率0.5hz

STM32CubeMX配置

STM32CubeMX版本:4.27.0
配置流程:
Pinout界面选择并开启需要的LED控制引脚
Clock Configuration配置时钟树
Configuration界面配置System
生成工程

Pinout配置

STM32CubeMX学习笔记——STM32H743通用定时器_第1张图片
LED输出PIN配置,TIM2,TIM3的基本配置

Clock Configuration配置

STM32CubeMX学习笔记——STM32H743通用定时器_第2张图片
开启系统时钟,设置TIM2、TIM3时钟(APB1)

Configuration

STM32CubeMX学习笔记——STM32H743通用定时器_第3张图片左侧主要系统功能的开启,或中间软件层功能的开启(如:RTOS、JPEG解码器,文件系统等)
右侧是系统及外设模块的具体配置

GPIO

STM32CubeMX学习笔记——STM32H743通用定时器_第4张图片
输出配置

TIM3

STM32CubeMX学习笔记——STM32H743通用定时器_第5张图片
周期=((1+TIM_Prescaler )/时钟)*(1+TIM_Period )
分频:62499
计数模式:向上计数
重装值:99
时钟分割:0 (数字滤波器相关)
自动重装:开启
MSM:关闭(开启将在该定时器使能的同时TRGO发出信号)
触发事件选择:更新
STM32CubeMX学习笔记——STM32H743通用定时器_第6张图片
STM32CubeMX学习笔记——STM32H743通用定时器_第7张图片

TIM2

STM32CubeMX学习笔记——STM32H743通用定时器_第8张图片
周期=((1+TIM_Prescaler )/时钟)*(1+TIM_Period )
分频:0
计数模式:向上计数
重装值:1
时钟分割:0 (数字滤波器相关)
自动重装:开启
由于TIM2作为从定时器,它的时钟实际是TIM3的中断信号
STM32CubeMX学习笔记——STM32H743通用定时器_第9张图片

NVIC

STM32CubeMX学习笔记——STM32H743通用定时器_第10张图片
STM32CubeMX学习笔记——STM32H743通用定时器_第11张图片

代码部分

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通用定时器)