你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-U083RC评测】低功耗定时器及休眠唤醒

[复制链接]
埃斯提爱慕 发布时间:2024-5-24 19:12

# 工程创建参考:https://shequ.stmicroelectronics ... p;extra=#pid2657071

# CubeMX配置工程
image.png ![alt text](image.png)

image-1.png ![alt text](image-1.png)

# 修改代码
    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 */


# 下载运行,看效果
image-2.png ![alt text](image-2.png)


收藏 评论0 发布时间:2024-5-24 19:12

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版