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下载

相关推荐
不会代码的小猴8 小时前
认识HAL库
单片机·嵌入式硬件
启效云8 小时前
AI赋能制造丨启效云亮相2026工业母机产业链高质量发展大会
大数据·人工智能·制造
TK泰妞8 小时前
如何利用跨境女装提示词库提升销售效率?从商品图片到TikTok内容的完整方法
大数据·人工智能
鲜于言悠9058 小时前
opencode
人工智能
猛犸象限8 小时前
【CJMP Grok Bot实践】用 CJMP 搬游戏时碰到的三个缺口,和我们的绕法
人工智能·grok
用户abcde8 小时前
RAG 检索增强生成
人工智能
文谦南宁AI普工8 小时前
RAG 检索全对,回答全错?用位置扫描 10 分钟定位 Lost in the Middle
人工智能·aigc
alonglong8 小时前
183 行 llmctl:把 4 个启动脚本收成一个 CLI,总控该管什么、不该管什么
人工智能
野生码农AI实战8 小时前
一句追问查出停滞 50 天的口径烂账,我把团队规则的锚换到了数字团队花名册
人工智能
宇擎智脑科技8 小时前
Sirchmunk 深度解析(一):一个无需向量数据库的自进化搜索引擎架构设计
人工智能·rag·sirchmunk