[STM32WBA] 【NUCLEO-WBA65RI 测评】+ 03定时器16实现LED的闪烁

📅 2026/6/19 3:26:54
[STM32WBA] 【NUCLEO-WBA65RI 测评】+ 03定时器16实现LED的闪烁
一定时器知识该设备中最多可嵌入五个可同步的一般用途定时器(有关差异请参见表17)。每个一般用途定时器均可用于生成PWM 输出或用作简单的计时基准。TIM2、TIM3和TIM4它们是功能齐全的通用定时器TIM2和TIM4具有32位自动重载加/减计数器TIM3具有16位自动重载加/减计数器并均配备16位预分频器。这些计时器具备4个独立的通道用于输入捕获/输出比较、PWM 或单脉冲模式输出。它们既可以独立运行也可以通过计时器链接功能与其他通用型计时器协同工作以实现同步或事件链接。计数器可在调试模式下冻结。所有定时器均具有独立的DMA请求生成功能并支持四象限编码器。TIM16和17它们是具有中等特性的通用定时器。它们具有16位自动重载加计数器和16位预分频器并且有一个通道和一个互补通道。所有通道均可用于输入捕获/输出比较、PWM或单脉冲模式输出。定时器可通过Timer Link功能协同工作实现同步或事件链式操作。各定时器具有独立的DMA请求生成能力。计数器可在调试模式下冻结。所有定时器均具有独立的DMA请求生成功能。二STM32 cube MX 软件配置2.1 时钟配置定时器16的配置如下配置分频系数和重装值使能定时器16的中断三STM32软件代码3.1 初始化定时器复制void MX_TIM16_Init(void){/* USER CODE BEGIN TIM16_Init 0 *//* USER CODE END TIM16_Init 0 *//* USER CODE BEGIN TIM16_Init 1 *//* USER CODE END TIM16_Init 1 */htim16.Instance TIM16;htim16.Init.Prescaler 63;htim16.Init.CounterMode TIM_COUNTERMODE_UP;htim16.Init.Period 999;htim16.Init.ClockDivision TIM_CLOCKDIVISION_DIV1;htim16.Init.RepetitionCounter 0;htim16.Init.AutoReloadPreload TIM_AUTORELOAD_PRELOAD_ENABLE;if (HAL_TIM_Base_Init(htim16) ! HAL_OK){Error_Handler();}/* USER CODE BEGIN TIM16_Init 2 */if (HAL_TIM_Base_Start_IT(htim16) ! HAL_OK){/* Starting Error */Error_Handler();}/* USER CODE END TIM16_Init 2 */}3.2 添加回调函数复制int TimePoint16 0 ;void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){if(htim -InstanceTIM16){TimePoint16 ;if(TimePoint161000){TimePoint16 0 ;HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_8);}}}烧录之后可以看到板载的LED灯红色以1s 的时间间隔闪烁。。---------------------作者聪聪哥哥链接https://bbs.21ic.com/icview-3502501-1-1.html?_dsign21939905来源21ic.com此文章已获得原创/原创奖标签著作权归21ic所有任何人未经允许禁止转载。