埃斯提爱慕
发布时间:2024-5-24 19:12
|
# 工程创建参考: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实用技巧之如何指定变量、函数、文件到指定内存
【STM32U3 评测】步进电机驱动
【STM32U3 评测】MNIST 数字识别
【STM32U3 评测】介绍、环境搭建、工程测试
STM32Cube嵌入式软件更新
一步到位!STM32CubeIDE 搭建 ClassB 功能安全工程
扩展器件适配、优化开发流程——STM32CubeIDE 2.1.0新版本发布
留言赢礼 | 全新升级的STM32CubeIDE for Visual Studio Code
直播回顾 | STM32CubeIDE for VS Code开发新体验
经验分享 | LAT1485 STM32CubeIDE实用技巧之条件断点的妙用
微信公众号
手机版