打印

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

[复制链接]
1407|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的低功耗没咋用过

使用特权

评论回复
5
d1ng2x| | 2024-8-31 10:58 | 只看该作者
这种低功耗一般就是降频,关闭外设等等操作

使用特权

评论回复
6
ex7s4| | 2024-8-31 11:26 | 只看该作者
其实有些MCU是有低功耗模式的,你开启就好了

使用特权

评论回复
7
lamanius| | 2024-8-31 12:38 | 只看该作者
一般不都是睡眠模式吗,可以试试

使用特权

评论回复
8
liu96jp| | 2024-8-31 13:19 | 只看该作者
对的,时钟和电源管理这块配置好真的很重要

使用特权

评论回复
9
suw12q| | 2024-8-31 14:18 | 只看该作者
我这边建议直接开启低功耗模式,而且要参考官方的例程配置,这样会很顺利

使用特权

评论回复
10
lix1yr| | 2024-8-31 15:33 | 只看该作者
开发板调试就实现不了低功耗了,得用log或者是设备查看了

使用特权

评论回复
11
l1uyn9b| | 2024-8-31 16:13 | 只看该作者
这种用keil可以来操作低功耗吗?应该是芯片本身的低功耗吧

使用特权

评论回复
12
王派oo| | 2024-9-30 13:34 | 只看该作者
通常需要降低时钟频率来减少功耗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

133

主题

1407

帖子

2

粉丝