当前位置: 首页 > wzjs >正文

怎样创建网站的代码成品网站建站空间

怎样创建网站的代码,成品网站建站空间,复制单页网站,某网站开发项目进度表STM32L051单片机支持多种低功耗模式,包括 Sleep(睡眠)、Stop(停止) 和 Standby(待机) 模式。不同模式的功耗和唤醒方式不同。 一、低功耗相关介绍 1.1 低功耗模式概览 模式功耗唤醒源时钟状态…

        STM32L051单片机支持多种低功耗模式,包括 Sleep(睡眠)Stop(停止) 和 Standby(待机) 模式。不同模式的功耗和唤醒方式不同。

一、低功耗相关介绍

1.1 低功耗模式概览

模式功耗唤醒源时钟状态
Sleep较高任意中断/事件核心时钟停止,外设时钟保持
Stop外部中断、RTC、LPUART、LPTIM等所有时钟关闭,保留SRAM和寄存器
Standby最低复位、RTC闹钟、WKUP引脚、NRST引脚大部分电路断电,仅保留备份域

1.2 进入低功耗模式

(1) Sleep 模式

// 进入 Sleep 模式(立即休眠)
__WFI(); // 等待中断唤醒
// 或
__WFE(); // 等待事件唤醒// 通过 HAL 库进入 Sleep 模式
HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);
(2) Stop 模式
// 配置唤醒源(例如使能外部中断)
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); // 使用WKUP引脚// 进入 Stop 模式(保留SRAM和寄存器)
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
(3) Standby 模式
// 配置 RTC 闹钟唤醒 或 WKUP 引脚
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);
// 或设置RTC闹钟...// 进入 Standby 模式
HAL_PWR_EnterSTANDBYMode();

1.3 唤醒方法

(1) Sleep 模式唤醒
  • 任意中断(如GPIO中断、定时器中断等)均可唤醒。

(2) Stop 模式唤醒
  • 外部中断(配置为EXTI中断):

    // 配置PA0为上升沿触发唤醒
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
    HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); // PA0对应WKUP1
  • RTC闹钟

    HAL_RTC_SetAlarm_IT(&hrtc, &sAlarm, RTC_FORMAT_BIN);
  • 低功耗定时器(LPTIM)或LPUART需提前配置。

(3) Standby 模式唤醒
  • WKUP引脚(PA0)上升沿

  • RTC闹钟(需配置RTC和备份域)

  • NRST引脚复位

1.4 注意事项

  • 时钟恢复     :退出Stop模式后需重新初始化系统时钟(HSI/MSI可能被关闭);
  • GPIO配置   :在低功耗模式下,未使用的GPIO应设为模拟输入以降低功耗;
  • 中断优先级 :唤醒中断的优先级需足够高(尤其是Stop模式);
  • 数据保留     :Stop模式保留SRAM和寄存器内容,Standby模式会丢失数据(需使用备份寄存器)。

二、低功耗功能唤醒应用

2.1 方案说明

单片机型号:STM32L051C8Tx

低功耗模式:Stop模式

唤醒方法:外部中断唤醒

详细方案:使用硅传LLCC68 LORA模组设置成监听模式(Rx Duty Cycle),收到Lora数据,DIO1引脚中断唤醒单片机;Lora收到数据,DIO1引脚拉高,连接单片机的引脚配置成外部中断。

该方案是在实验项目过程中使用,仅供参考。

(有关LORA监听模式相关资料,想了解硅传LLCC68 LORA模组的可以参考以下资料)

LoRa学习<二>:Rx Duty Cycle模式实验_lora duty-cycle-CSDN博客

LoRa学习<二>:Rx Duty Cycle模式实验_lora duty-cycle-CSDN博客

2.2 部分代码实现

//1.引脚拉低,给485断电HAL_GPIO_WritePin(OUT_CTL_GPIO_Port, OUT_CTL_Pin, GPIO_PIN_RESET);
//2.失能外设
Msp_DeInit();
//3.单片机进入 stop 模式
//暂停SysTick
HAL_SuspendTick();
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);if(Flag_Status)
{//4.单片机退出  stop 模式 回调函数//5.引脚拉高,485供电HAL_GPIO_WritePin(OUT_CTL_GPIO_Port, OUT_CTL_Pin, GPIO_PIN_SET);//6.重新初始化外设Msp_Init();Flag_Status = 0;
}

 

//回调函数
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) 
{	if (GPIO_Pin == GPIO_PIN_7) {        Flag_Status = 1;SystemClock_Config();HAL_ResumeTick();} 
}

//失能外设

static void Msp_DeInit(void)
{
    //1.其余gpio恢复默认电平
    HAL_GPIO_WritePin(GPIOC, OUT_CTL_Pin|LED_KEY_Pin, GPIO_PIN_RESET);
    HAL_GPIO_WritePin(GPIOA,      BAT_CTL_Pin|RS485_DE_Pin|BAT_CTLA5_Pin|RZ_BI_Pin, GPIO_PIN_RESET);
    HAL_GPIO_WritePin(GPIOB, AS_PGO_Pin|RZ_FI_Pin, GPIO_PIN_RESET);
    
    //2.失能485
    HAL_UART_MspDeInit(&huart2);
    
    //3.失能ADC
    close_adc_dma();
    
    //4.配置GPIO中断唤醒引脚
    gpio_lower_mode();
    
}

//配置GPIO中断唤醒引脚

static void gpio_lower_mode(void)
{
    //配置PB7(LORA_DIO1)为唤醒引脚
    GPIO_InitTypeDef GPIO_InitStruct = {0};
    __HAL_RCC_GPIOB_CLK_ENABLE();
    
    GPIO_InitStruct.Pin = GPIO_PIN_7;
    GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
    HAL_NVIC_SetPriority(EXTI4_15_IRQn, 2, 0);
    HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);
}

static void Msp_Init(void)
{
    //1.gpio退出中断模式
    gpio_exit_lower_mode();
    
    //2.重新初始化串口485
    MX_USART2_UART_Init();
    RS485_RX;            //设置为接收模式    
    
    //3.初始化DMA和ADC
    open_adc_dma();

    printf("###Exit stop mode,Msp Init\r\n");
}
 

 2.3 遇到的问题

2.3.1 进入Stop模式后功耗没有达到预期

处理:失能掉ADC采集和485通信;把一些gpio引脚拉低;

注意:在唤醒后重新初始化ADC和485,以及一些引脚。

2.3.2 使用lora模组频繁进入Stop休眠和唤醒,导致程序跑飞,单片机卡死

原因:分析可能的原因是lora模组收到数据,唤醒单片机,但是由于不是本设备数据又立马休眠,导致lora在接收数据过程中被强制休眠导致程序卡死。

解决:采用上述回调函数的方式,置标志位,保证在lora收完数据后再退出Stop模式

http://www.dtcms.com/wzjs/284095.html

相关文章:

  • 晚上睡不着正能量网站百度推广如何代理加盟
  • 网站建设需求列表网站推广的基本方法是
  • 如何在网上销售西安官网seo
  • 网站建设的预算排名优化课程
  • 网站建设全套百度平台投诉人工电话
  • 网站建设企业的市场分析合肥seo推广外包
  • 网站如何做微信支付宝支付宝支付接口海外网站
  • 动态网站如何做seo企业宣传册
  • 做网站时字幕怎么做常见的网络推广方式包括
  • wordpress搜索全站千度搜索引擎
  • 互利互通网站建设济南seo优化公司助力排名
  • 做网站公司赚钱么网络游戏推广
  • 新开传奇网站发布网单职业自己建立网站步骤
  • 南京网站设计公司哪儿济南兴田德润怎么联系网络营销技巧培训
  • 玉树电子商务网站建设哪家快数字营销工具
  • 自己做网站平台新媒体营销案例
  • b2c网站存在问题打开百度搜索
  • ssm做网站seo的基本步骤包括哪些
  • 怎么在百度建设网站中国最厉害的营销策划公司
  • 混合式教学财务管理网站建设怎么做好seo内容优化
  • 竞价网站如何设计有没有免费的crm系统软件
  • 北京做网站制作的公司购买域名
  • 定制型网站制作价格中国推广网
  • 活动网站推广方案打开百度网址
  • 柳州网站优化58同城推广
  • 建设银行网站账户注销湖南做网站的公司
  • 营销型网站建设的公司seo软件视频教程
  • 哪家网站制作 优帮云搜索引擎的工作原理是什么?
  • 德国和俄罗斯和做视频网站关键词制作软件
  • 交换广告是两个网站做友情链接吗百度统计手机app