
# 工程创建参考:https://shequ.stmicroelectronics ... p;extra=#pid2657071 # CubeMX配置工程 ![]() ![]() # 修改代码 static void MX_LPTIM3_Init(void) { /* USER CODE BEGIN LPTIM3_Init 0 */ /* USER CODE END LPTIM3_Init 0 */ /* USER CODE BEGIN LPTIM3_Init 1 */ /* USER CODE END LPTIM3_Init 1 */ hlptim3.Instance = LPTIM3; hlptim3.Init.Clock.Source = LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC; hlptim3.Init.Clock.Prescaler = LPTIM_PRESCALER_DIV128; hlptim3.Init.Trigger.Source = LPTIM_TRIGSOURCE_SOFTWARE; hlptim3.Init.Period = 65535; hlptim3.Init.UpdateMode = LPTIM_UPDATE_IMMEDIATE; hlptim3.Init.CounterSource = LPTIM_COUNTERSOURCE_INTERNAL; hlptim3.Init.Input1Source = LPTIM_INPUT1SOURCE_GPIO; hlptim3.Init.Input2Source = LPTIM_INPUT2SOURCE_GPIO; hlptim3.Init.RepetitionCounter = 0; if (HAL_LPTIM_Init(&hlptim3) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN LPTIM3_Init 2 */ HAL_LPTIM_Counter_Start_IT(&hlptim3);//添加启动低功耗定时器 /* USER CODE END LPTIM3_Init 2 */ } while (1) { /* -- Sample board code for User push-button in interrupt mode ---- */ if (BspButtonState == BUTTON_PRESSED) { /* Update button state */ BspButtonState = BUTTON_RELEASED; /* -- Sample board code to toggle leds ---- */ BSP_LED_Toggle(LED_GREEN); /* ..... Perform your action ..... */ } HAL_SuspendTick();//添加进入休眠,以及串口打印命令 printf("\r\n Enter sleep mode! \r\n"); BSP_LED_Off(LED_GREEN); HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE BEGIN 0 */ void HAL_LPTIM_UpdateEventCallback(LPTIM_HandleTypeDef *hlptim) {//添加回调函数、唤西醒并打印提示 HAL_ResumeTick(); BSP_LED_On(LED_GREEN); printf("\r\n Exit sleep mode ! \r\n"); } /* USER CODE END 0 */ # 下载运行,看效果 ![]() |
【评论有奖】STM32CubeIDE 2.0版本要来了
【NUCLEO-WBA65RI评测】Home Assistant 物联网心率计
经验分享 | STM32CubeIDE 实用技巧之如何生成静态库并添加到工程
STM32CubeIDE 实用技巧之条件断点的妙用
新版STM32Cube for Visual Studio Code开发体验
【P-NUCLEO-53L8A1评测】存在检测之动向追踪
STM32
STM32C071RBT6外部中断LED点亮熄灭
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
【NUCLEO-U083RC评测】+ AES加解密模块性能测试