
# 工程创建参考: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 */ # 下载运行,看效果 ![]() |
【P-NUCLEO-53L8A1评测】存在检测之动向追踪
STM32
STM32C071RBT6外部中断LED点亮熄灭
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
新版STM32Cube for Visual Studio Code开发体验
【NUCLEO-U083RC评测】+ AES加解密模块性能测试
【NUCLEO-U083RC评测】SLEEP_MODE、STOP_MODE、STANDBY_MODE简要测试
【STM32N6570-DK评测】摄像头video encoder
实战经验 | STM32CubeIDE实用技巧之工程联调
【STM32H745I-DISCO】基于TouchGFX的工业控制器界面设计