AI辅助Stm32l031项目开发调试完成与总结

AI辅助Stm32l031项目开发调试完成与总结

一、低功耗调试

在本次案例中,选用的是低功耗芯片,能干到ua级别,功能不是特复杂时级别都能达到需求。关闭基本耗电的外设,关闭必要的时钟,低功耗代码片段如下:

复制代码
/**
 * @brief 进入低功耗模式
 */
void LowPower_Enter(void)
{
    // 关闭LED
    LED_Off();
    
    // 关闭传感器
    Disable_Sensor();
    
    // 关闭ADC
    HAL_ADC_Stop_DMA(&hadc);
    
	HAL_GPIO_WritePin(POEWR_CONTROL_GPIO_Port,POEWR_CONTROL_Pin,GPIO_PIN_RESET);
	
    // 进入待机模式
    g_system_status = SYSTEM_SLEEP;
    
    // 配置按键为唤醒源
    GPIO_InitTypeDef GPIO_InitStruct = {
        .Pin = KEY_Pin,
        .Mode = GPIO_MODE_IT_FALLING,
        .Pull = GPIO_PULLUP,
    };
    HAL_GPIO_Init(KEY_GPIO_Port, &GPIO_InitStruct);
    
    // 进入STOP模式
    HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
}

/**
 * @brief 退出低功耗模式
 */
void LowPower_Exit(void)
{
    __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);

    // 恢复系统时钟
    SystemClock_Config();
    
    // 重新初始化外设
    MX_GPIO_Init();
    MX_DMA_Init();
    MX_ADC_Init();
    MX_USART2_UART_Init();
    
    // 重新初始化传感器
    Initialize_VEML7700();
    
    // 启动ADC
    HAL_ADC_Start_DMA(&hadc, (uint32_t *)g_adc_buff, 2);
    
    // 恢复系统状态
    g_system_status = SYSTEM_WORK;
    uint32_t current_time = HAL_GetTick();
    g_work_mode_start_time = current_time;      // 重置工作模式开始时间
    g_last_operation_time = current_time;      // 重置最后操作时间
    g_meter_flag = 1;
}

设计低功耗主要从以下几方面着手:

​ 1.用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。

可以使用的低功耗方式有休眠模式,待机模式,停机模式。

  1. 选择了低功耗方式后就是关闭可以关闭的外设时钟。
  2. 降低系统主频。
  3. 注意I/O的状态。
    如果此IO口带上拉,请设置为高电平输出或者高阻态输入;
    如果此IO口带下拉,请设置为低电平输出或者高阻态输入;
    a. 在睡眠模式下,所有的I/O引脚都保持它们在运行模式时的状态。
    b. 在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。
    c. 在待机模式下,所有的I/O引脚处于高阻态,除了以下的引脚:
    ● 复位引脚(仍可用)。
    ● RTC_AF1 引脚 (PC13)(如果针对入侵、时间戳、 RTC 闹钟输出或 RTC 时钟校准输出进行了配置)。
    ● WKUP 引脚 (PA0)(如果使能)。
  4. 注意IO和外设IC的连接。
  5. 测低功耗的时候,一定不要连接调试器,更不能边调试边测电流。

二、功耗结果

本次案例中,功耗结果是5ua左右,可以接受。

三、项目总结

因为我调过这个项目,所以在和AI的沟通互动中有明确需求,AI能根据你明确需求进行生成代码,一点点的问AI具体问题,AI一次解决一小部分问题,然后综合解决,是一个不错的不工具。AI时代,一个是一个公司也是有可能。拿来辅助编程吧,学无止境。

四、项目源码

本次开发中使用的源码,本案完!

【免费】meter-led-004-2026-01-12-整体功能ok-低功耗ok.zip资源-CSDN下载

相关推荐
TEC_INO1 小时前
stm32_12:RFID-RC522项目
stm32·单片机·嵌入式硬件
JXNL@1 小时前
《浪涌保护器件全解析:GDT/TSS/TVS/SPD 定义、原理及选型手册》
单片机·嵌入式硬件
YouEmbedded1 小时前
解码WIFI模块与IoT云平台
stm32·微信小程序·wifi模块(esp8266)·iot云平台接·生态建立
AI街潜水的八角1 小时前
基于深度学习神经网络的验证码识别系统
人工智能·深度学习·神经网络
人工智能AI技术2 小时前
Java程序员如何入门AI
java·人工智能
NingboWill2 小时前
AI日报 - 2026年01月16日
人工智能
一只小小的土拨鼠2 小时前
MedSeg - R:利用多模态大语言模型进行医学图像推理分割
人工智能
敏叔V5872 小时前
AI驱动的自动化测试:智能用例生成、异常检测与回归测试
人工智能
代码游侠2 小时前
学习笔记——ARM Cortex-A 裸机开发体系架构
arm开发·笔记·嵌入式硬件·学习·架构