ST意法半导体
直播中

李红

7年用户 1290经验值
私信 关注
[问答]

STM32L476中如何使用Cube MX为40ms中断配置定时器3?

是否有示例 MX 项目?IDE 有优秀的示例项目吗?



回帖(1)

韩凤英

2022-12-28 14:30:11
在 STM32L476 中为 40ms 中断配置定时器 3,您将在下文中找到使用 CubeMX 取消配置的一些简单步骤:


  • 使用 STM32L476 MCU 启动您的项目(例如 NUCLEO-L476RG 并将所有外设初始化为默认模式,以便正确设置引脚)。




  • 选择内部时钟作为 TIM3 时钟源。
  • 输出时间间隔由预分频器值、时钟频率和定时器计数器周期 (ARR) 寄存器的值决定。为了获得等于 40 毫秒的输出时间间隔(例如,每 40 毫秒切换一次 LED)和)并设置定时器中断以给出该时间间隔,我们可以假设 FCLK 为 16MHz,让预分频器为 1000计数器周期为 640。您可以通过 CubeMX 界面 > TIM3 配置面板 > 参数设置窗口选项卡设置这些参数。




  • 启用自动重新加载预加载以及 NVIC 选项卡中的定时器中断信号。
  • 生成项目初始化代码。
  • 生成代码后,您应该添加以下代码行:



  • /* USER CODE BEGIN 2 */
  • HAL_TIM_Base_Start_IT(&htim3);
  •   /* USER CODE END 2 */

  • //....

  • /* USER CODE BEGIN 4 */
  • void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef* htim)
  • {
  •     HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
  • }
  • /* USER CODE END 4 */

(我使用了 LD2,因为 PA5 是绿色 Led 的输出)
通常按照这些步骤一切都会正常工作。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分