
# 工程创建参考:https://shequ.stmicroelectronics ... p;extra=#pid2657071 # CubeMX配置工程8 k& w1 }1 \3 ?' R, u; z z: c) D8 g ![]() ; M& ?$ Z& L6 K6 j: d ![]() # 修改代码/ I( Q+ h( _+ H0 [; t static void MX_LPTIM3_Init(void)5 E( e* M+ a# S% P* A \6 D {, }0 K/ A) I. i ' i& `8 w) I: \2 A /* USER CODE BEGIN LPTIM3_Init 0 */ : Q7 s- P" @7 v5 V" E /* USER CODE END LPTIM3_Init 0 */ 2 C9 T* x" j; j& `0 q /* USER CODE BEGIN LPTIM3_Init 1 */2 X; R+ `0 Q( V+ y ?+ Y$ N1 u /* USER CODE END LPTIM3_Init 1 */7 w& X$ S" X! E$ P* q; W 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;4 n* o1 p4 ]( j4 m% G2 P; P5 y* ~8 y hlptim3.Init.CounterSource = LPTIM_COUNTERSOURCE_INTERNAL; hlptim3.Init.Input1Source = LPTIM_INPUT1SOURCE_GPIO;$ y4 H4 [- X. b1 H0 c7 J* v K hlptim3.Init.Input2Source = LPTIM_INPUT2SOURCE_GPIO; hlptim3.Init.RepetitionCounter = 0;' C2 m& L0 a2 k. N if (HAL_LPTIM_Init(&hlptim3) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN LPTIM3_Init 2 */8 n8 A# V5 g7 _% E) @4 V9 q HAL_LPTIM_Counter_Start_IT(&hlptim3);//添加启动低功耗定时器 /* USER CODE END LPTIM3_Init 2 */) V* \5 G" s1 `8 h$ x } : ^$ ~; ?; u4 ?" y while (1) { /* -- Sample board code for User push-button in interrupt mode ---- */" u* r- P/ t# N0 E$ H" y# ^( \ if (BspButtonState == BUTTON_PRESSED) { /* Update button state */ BspButtonState = BUTTON_RELEASED; /* -- Sample board code to toggle leds ---- */ BSP_LED_Toggle(LED_GREEN);+ U) d& [( [) {1 [/ O /* ..... Perform your action ..... */& w; p. u& R/ z& M) u }+ N' F8 b( R0 F* t% y0 p/ Z a HAL_SuspendTick();//添加进入休眠,以及串口打印命令 printf("\r\n Enter sleep mode! \r\n"); BSP_LED_Off(LED_GREEN); HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);% H' _. o$ b) h, p; G5 @ /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ }1 R7 N$ z3 Q; K9 l, o: l 5 R$ v7 i1 p% n/ b5 x& {& @ /* USER CODE BEGIN 0 */5 r5 J9 q( @6 k2 }+ P* p# [, p void HAL_LPTIM_UpdateEventCallback(LPTIM_HandleTypeDef *hlptim)3 W6 \& b# V- H' J; o& v9 p- f; J {//添加回调函数、唤西醒并打印提示; R+ H" m: |& J7 p% I4 ? HAL_ResumeTick(); BSP_LED_On(LED_GREEN);3 ^) A0 q! U1 Y2 }/ o9 K2 v& n E$ k printf("\r\n Exit sleep mode ! \r\n");0 Y) r- C! H9 }0 ]9 D. k- } } /* USER CODE END 0 */, ^ r0 Y9 l9 L2 @3 x }: v $ i: P# X' \7 }* L' h ( q8 D/ G/ k! m% c- x# k # 下载运行,看效果& q& g( r+ o9 S( g& z9 Q ![]() |
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的工业控制器界面设计
【下载问题解决】关于ST官网下载软件问题解决