在Keil和IAR中配置低功耗模式

[复制链接]
2370|11
 楼主| 9dome猫 发表于 2024-8-12 22:14 | 显示全部楼层 |阅读模式
要在Keil和IAR中配置GD32 M23系列微控制器的低功耗模式,以下是一般步骤:

初始化电源管理和时钟系统:

首先需要配置电源管理模块,包括设置电压调节器和系统时钟。低功耗模式下,通常需要降低时钟频率来减少功耗。
配置低功耗模式:

在GD32库函数中,通常可以使用pmu_to_sleepmode()、pmu_to_deepsleepmode()等函数来配置微控制器进入相应的低功耗模式。
中断配置:

为了确保在低功耗模式下微控制器能够及时响应外部事件,需要配置中断系统。用户可以在进入低功耗模式之前使能相关中断,例如外部GPIO中断或定时器中断。
编写低功耗模式切换代码:

在应用程序中,用户可以通过条件语句或定时器事件来决定何时进入低功耗模式。在Keil或IAR中编写相关代码,并调用低功耗模式切换函数。
编译和调试:

使用Keil或IAR进行代码编译,并在开发板上进行调试。通过调试工具监控微控制器的功耗情况,验证低功耗配置是否生效。
以下是一个简单的示例代码片段,演示如何在GD32 M23系列微控制器上配置深度睡眠模式:

c

#include "gd32f10x.h"

// 配置低功耗模式
void configure_low_power_mode(void) {
    // 使能电源管理时钟
    rcu_periph_clock_enable(RCU_PMU);

    // 配置电压调节器为低功耗模式
    pmu_low_voltage_detect_enable();

    // 进入深度睡眠模式
    pmu_to_deepsleepmode(PMU_LDO_LOWPOWER, WFI_CMD);
}

int main(void) {
    // 系统初始化
    system_clock_config();

    while (1) {
        // 进入低功耗模式
        configure_low_power_mode();

        // 等待中断唤醒
        __WFI();
    }
}


GD32 M23系列微控制器凭借其超低功耗设计、多样化的低功耗模式和快速唤醒特性,在低功耗应用中具有显著的优势。

tax2r6c 发表于 2024-8-31 09:28 | 显示全部楼层
这个我觉得低功耗就是把不用的外设都关闭掉
b5z1giu 发表于 2024-8-31 09:59 | 显示全部楼层
其实你可以直接用官方的低功耗例程就好了
cen9ce 发表于 2024-8-31 10:28 | 显示全部楼层
我觉得用小华的低功耗会更好,GD的低功耗没咋用过
d1ng2x 发表于 2024-8-31 10:58 | 显示全部楼层
这种低功耗一般就是降频,关闭外设等等操作
ex7s4 发表于 2024-8-31 11:26 | 显示全部楼层
其实有些MCU是有低功耗模式的,你开启就好了
lamanius 发表于 2024-8-31 12:38 | 显示全部楼层
一般不都是睡眠模式吗,可以试试
liu96jp 发表于 2024-8-31 13:19 | 显示全部楼层
对的,时钟和电源管理这块配置好真的很重要
suw12q 发表于 2024-8-31 14:18 | 显示全部楼层
我这边建议直接开启低功耗模式,而且要参考官方的例程配置,这样会很顺利
lix1yr 发表于 2024-8-31 15:33 | 显示全部楼层
开发板调试就实现不了低功耗了,得用log或者是设备查看了
l1uyn9b 发表于 2024-8-31 16:13 | 显示全部楼层
这种用keil可以来操作低功耗吗?应该是芯片本身的低功耗吧
王派oo 发表于 2024-9-30 13:34 来自手机 | 显示全部楼层
通常需要降低时钟频率来减少功耗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

142

主题

1593

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部