STM32CubeMX学习笔记12 ---低功耗模式

在实际使用中很多产品都需要考虑低功耗的问题,STM32F10X提供了三种低功耗模式:睡眠模式(Sleep mode)、停机模式(Stop mode)和待机模式(Standby mode)。这些低功耗模式可以有效减少系统功耗,延长电池寿命,对于需要长时间运行的电池供电设备尤为重要。

注意:在进入低功耗模式时,STlink将无法下载程序,需要重启单片机!!

1、 低功耗模式简介

        系统或电源复位后,微处理器处于运行状态,运行状态下HCLK为CPU提供时钟,内核执行程序代码。当CPU不需继续运行时(例如等待某个外部事件),可以利用多个低功耗模式来节省功耗。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。STM32提供了3种低功耗模式,以达到不同层次的降低功耗的目的: - 睡眠模式(CM3内核停止工作,外设仍在运行)(功耗最高) - 停止模式(所有时钟都停止)(典型电流消耗20uA左右) - 待机模式(1.8V内核电源关闭)(最低电流消耗2uA左右)

        在运行模式下,也可以通过如下方式降低功耗: - 降低系统时钟 - 关闭APB和AHB总线上未被使用的外设的时钟

一、睡眠模式

1、睡眠模式简介

        睡眠模式,它使处理器暂停执行,并且可以通过外部事件或中断来唤醒。在睡眠模式下,(Cortex™-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统时钟(SysTick)等仍在运行,以便在唤醒时快速恢复正常运行。

睡眠模式的进入:两种睡眠模式,SLEEP-NOW或 SLEEP-ON-EXIT。

SLEEP-NOW:如果SLEEPONEXIT位被清除,当WRI或WFE被执行时,微控制器立即进入睡眠模式。
SLEEP-ON-EXIT:如果SLEEPONEXIT位被置位,系统从最低优先级的中断处理程序中退出时,微控制器就立即进入睡眠模式。
睡眠模式的唤醒:两种唤醒方式,任一中断(WFI)或唤醒事件(WFE)。

WFI:任意一个中断的触发都能唤醒该模式。
WFE:唤醒事件

2、硬件设置

本实验用LED2指示灯提示系统正常运行,指示灯熄灭表示进入睡眠模式,S4按键用外部中断的方式来唤醒待机模式,并使用串口1打印相关调试信息

 3、STM32CubeMX设置

选择芯片STM32F103ZET6,建立工程,设置好工程名称及目录。

RCC设置外接HSE,时钟设置为72M。

设置串口1,并打开串口中断。

将PA0设置成外部中断模式,触发模式选择上升沿触发,GPIO Pull-up/Pull-down中选择Pull-up上拉,并命名为S4。使能外部中断,并将优先级都设置为2.

 输入工程名,选择工程路径(不要有中文),选择MDK-ARM V5;勾选Generated periphera initialization as a pair of ‘.c/.h’ files per IP ;点击GENERATE CODE,生成工程代码

4、程序编程

在main.c文件中添加以下程序

int main(void)
{
while (1){printf1("Time: 5\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);     HAL_Delay(1000);printf1("Time: 4\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_SET);       HAL_Delay(1000);printf1("Time: 3\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);     HAL_Delay(1000);printf1("Time: 2\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_SET);       HAL_Delay(1000);printf1("Time: 1\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);     HAL_Delay(1000);printf1("进入睡眠模式!\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_SET);   //进入睡眠模式// 挂起(暂停)系统时钟中断,这里是主要的减少功耗的地方HAL_SuspendTick();/* 进入睡眠模式, 等待任意中断唤醒 ,程序进入睡眠模式后就会在这里停住,往下的程序就不运行了,等待中断触发,就可以唤醒睡眠模式,然后继续运行往下的程序*/HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);/* 恢复系统时钟中断 */HAL_ResumeTick();printf1("退出睡眠模式!\r\n");}
}

编写外部中断函数

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){delay(10);  //延时消抖,不建议if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==1)printf1("STM32F103 EXTI test this key is S4\r\n"); //A0printf1("中断唤醒睡眠模式\r\n"); //A0}
}

5、下载验证:

程序编译无误后下载到板子上查看串口输出结果,以看到系统运行时LED2指示灯不断闪烁,5秒钟后进入睡眠模式,此时LDE2指示灯熄灭。当按下S4按键或复位按键时,睡眠模式被唤醒,系统继续运行,同时串口打印提示信息


                        

二、停机模式

1、停机模式简介


  停止模式是在Cortex™-M3的深睡眠模式基础上结合了外设的时钟控制机制,在停止模式下电压 调节器可运行在正常或低功耗模式。此时在1.8V供电区域的的所有时钟都被停止,PLL、HSI和 HSE RC振荡器的功能被禁止,SRAM和寄存器内容被保留下来。在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。当一个中断或唤醒事件导致退出停止模式时,会自动选用内部高速时钟(HSI RC振荡器)为系统时钟。

2、硬件设计

本实验用LED2指示灯提示系统正常运行,指示灯熄灭表示进入停机模式,S4按键用外部中断的方式来唤醒停机模式,并使用串口1打印相关调试信息。跟睡眠模式一致。

 3、STM32CubeMX设置

选择芯片STM32F103ZET6,建立工程,设置好工程名称及目录。

RCC设置外接HSE,时钟设置为72M。

设置串口1,并打开串口中断。

将PA0设置成外部中断模式,触发模式选择上升沿触发,GPIO Pull-up/Pull-down中选择Pull-up上拉,并命名为S4。使能外部中断,并将优先级都设置为2.

 输入工程名,选择工程路径(不要有中文),选择MDK-ARM V5;勾选Generated periphera initialization as a pair of ‘.c/.h’ files per IP ;点击GENERATE CODE,生成工程代码

4、程序编程

在main.c文件中添加以下程序

int main(void)
{//****省略 ****//while(1){printf1("Time: 5\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);     HAL_Delay(1000);printf1("Time: 4\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_SET);       HAL_Delay(1000);printf1("Time: 3\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);     HAL_Delay(1000);printf1("Time: 2\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_SET);       HAL_Delay(1000);printf1("Time: 1\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);     HAL_Delay(1000);printf1("进入停机模式!\r\n");// 暂停滴答时钟,防止通过滴答时钟中断唤醒HAL_SuspendTick();/* 进入停止模式,设置电压调节器为低功耗模式,等待中断唤醒 */HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON,PWR_STOPENTRY_WFI);//在此停止//唤醒后需要重新配置RCC时钟才能正常运行SYSCLKConfig_STOP();// 被唤醒后,恢复滴答时钟HAL_ResumeTick();printf1("退出停机模式!\r\n");}
}//重新配置RCC时钟函数
static void SYSCLKConfig_STOP(void)
{RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};RCC_OscInitTypeDef RCC_OscInitStruct = {0};uint32_t pFLatency = 0;/* 启用电源控制时钟 */__HAL_RCC_PWR_CLK_ENABLE();/* 根据内部 RCC 寄存器获取振荡器配置 */HAL_RCC_GetOscConfig(&RCC_OscInitStruct);/* 从停止模式唤醒后重新配置系统时钟: 启用 HSE 和 PLL */RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;RCC_OscInitStruct.HSEState = RCC_HSE_ON;RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {while (1){;}}/* 根据内部 RCC 寄存器获取时钟配置 */HAL_RCC_GetClockConfig(&RCC_ClkInitStruct, &pFLatency);/* 选择 PLL 作为系统时钟源, 并配置 HCLK、PCLK1 和 PCLK2 时钟分频系数 */RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK;RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, pFLatency) != HAL_OK) {while (1) {;}}
}

编写外部中断函数

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){delay(10);  //延时消抖,不建议if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==1)printf1("STM32F103 EXTI test this key is S4\r\n"); //A0printf1("中断唤醒睡眠模式\r\n"); //A0}
}

5、下载验证:

程序编译无误后下载到板子上查看串口输出结果,以看到系统运行时LED2指示灯不断闪烁,5秒钟后进入停止模式,此时LDE2指示灯熄灭。当按下S4按键或复位按键时,停止模式被唤醒,系统继续运行,同时串口打印提示信息

三、待机模式

        本文仅对STM32的最低功耗模式(即待机模式)来做介绍。待机模式可实现STM32的最低功耗,该模式实在CM3深睡眠模式时关闭电压调节器,整个1.8V供电区域被断电,PLL/HSI/HSE振荡器也被断电,SRAM和寄存器内容丢失,仅备份的寄存器和待机电路维持供电 下图为STM32进入及退出待机模式的条件:

2、 硬件设计

本实验用LED2指示灯提示系统正常运行,指示灯熄灭表示进入待机模式,S4按键用来唤醒待机模式,并使用串口1打印相关调试信息

  • LED2指示灯
  • S4按键
  • USART1串口

3、STM32CubeMX设置

  • RCC设置外接HSE,时钟设置为72M
  • PE5(LED2)设置为GPIO推挽输出模式、上拉、高速、默认输出电平为高电平
  • PA0(S4)设置为GPIO上拉输入模式,F103中指定PA0脚为唤醒引脚。
  • USART1选择为异步通讯方式,波特率设置为115200Bits/s,传输数据长度为8Bit,无奇偶校验,1位停止位

  • 输入工程名,选择工程路径(不要有中文),选择MDK-ARM V5;勾选Generated periphera initialization as a pair of ‘.c/.h’ files per IP ;点击GENERATE CODE,生成工程代码 

4、程序编程

在main.c中添加一下程序

void Sys_Enter_Standby(void){__HAL_RCC_PWR_CLK_ENABLE();     //使能PWR时钟__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);      //清除Wake_UP标志HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);   //设置WAKEUP用于唤醒HAL_PWR_EnterSTANDBYMode();     //进入待机模式
}int main(void)
{
///****省略*****///while (1){printf1("Time: 5\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);     HAL_Delay(1000);printf1("Time: 4\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_SET);       HAL_Delay(1000);printf1("Time: 3\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);     HAL_Delay(1000);printf1("Time: 2\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_SET);       HAL_Delay(1000);printf1("Time: 1\r\n");HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);     HAL_Delay(1000);printf1("Entered Standby Mode...Please press KEY_UP to wakeup system!\r\n");Sys_Enter_Standby();		///* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

 5、下载验证:

程序编译无误后下载到板子上查看串口输出结果,以看到系统运行时LED2指示灯不断闪烁,5秒钟后进入待机模式,此时LDE2指示灯熄灭。当按下S4按键或复位按键时,待机模式被唤醒,系统重新运行,同时串口打印提示信息

总结

1.1 睡眠模式
        在睡眠模式中,仅关闭了内核时钟,内核停止运行,但其片上外设,CM3 核心的外设全都还照常运行。有两种方式进入睡眠模式,它的进入方式决定了从睡眠唤醒的方式,分别是 WFI(wait for interrupt) 和 WFE(wait for event),即由等待“中断”唤醒和由“事件”唤醒。

特性和说明:

  • 立即睡眠: 在执行 WFI 或 WFE 指令时立即进入睡眠模式。
  • 退出时睡眠: 在退出优先级最低的中断服务程序后才进入睡眠模式。
  • 进入方式: 内核寄存器的 SLEEPDEEP=0 ,然后调用 WFI 或 WFE 指令即可进入睡眠模式;SLEEPONEXIT=1 时,进入“退出时睡眠”模式。
  • 唤醒方式: 如果是使用 WFI 指令睡眠的,则可使用任意中断唤醒;如果是使用 WFE 指令睡眠的,则由事件唤醒。
  • 睡眠时: 关闭内核时钟,内核停止,而外设正常运行,在软件上表现为不再执行新的代码。这个状态会保留睡眠前的内核寄存器、内存的数据。
  • 唤醒延迟: 无延迟。
  • 唤醒后: 若由中断唤醒,先进入中断,退出中断服务程序后,接着执行 WFI 指令后的程序;若由事件唤醒,直接接着执行 WFE 后的程序。

1.2 停止模式
        在停止模式中,进一步关闭了其它所有的时钟,于是所有的外设都停止了工作,但由于其 1.8V 区域的部分电源没有关闭,还保留了内核的寄存器、内存的信息,所以从停止模式唤醒,并重新开启时钟后,还可以从上次停止处继续执行代码。停止模式可以由任意一个外部中断(EXTI)唤醒,在停止模式中可以选择电压调节器为开模式或低功耗模式。

特性和说明:

  • 调压器低功耗模式: 在停止模式下调压器可工作在正常模式或低功耗模式,可进一步降低功耗。
  • 进入方式: 内核寄存器的 SLEEPDEEP=1,PWR_CR 寄存器中的 PDDS=0,然后调用 WFI 或 WFE 指令即可进入停止模式;PWR_CR 寄存器的 LPDS=0 时,调压器工作在正常模式,LPDS=1 时工作在低功耗模式。
  • 唤醒方式: 如果是使用 WFI 指令睡眠的,可使用任意 EXTI 线的中断唤醒;如果是使用 WFE 指令睡眠的,可使用任意配置为事件模式的 EXTI 线事件唤醒。
  • 停止时: 内核停止,片上外设也停止。这个状态会保留停止前的内核寄存器、内存的数据。
  • 唤醒延迟: 基础延迟为 HSI 振荡器的启动时间,若调压器工作在低功耗模式,还需要加上调压器从低功耗切换至正常模式下的时间。
  • 唤醒后: 若由中断唤醒,先进入中断,退出中断服务程序后,接着执行 WFI 指令后的程序;若由事件唤醒,直接接着执行 WFE 后的程序。唤醒后,STM32 会使用 HSI 作为系统时钟。

1.3 待机模式
        待机模式,它除了关闭所有的时钟,还把 1.8V 区域的电源也完全关闭了,也就是说,从待机模式唤醒后,由于没有之前代码的运行记录,只能对芯片复位,重新检测 boot 条件,从头开始执行程序。它有四种唤醒方式,分别是 WKUP(PA0)引脚的上升沿,RTC 闹钟事件,NRST 引脚的复位和 IWDG(独立看门狗)复位。

特性和说明:

  • 进入方式: 内核寄存器的 SLEEPDEEP=1,PWR_CR 寄存器中的 PDDS=1,PWR_CR 寄存器中的唤醒状态位 WUF=0,然后调用 WFI 或 WFE 指令即可进入待机模式。
  • 唤醒方式: 通过 WKUP 引脚的上升沿,RTC 闹钟、唤醒、入侵、时间戳事件或 NRST 引脚外部复位及 IWDG 复位唤醒。
  • 待机时: 内核停止,片上外设也停止;内核寄存器、内存的数据会丢失;除复位引脚、RTC_AF1 引脚及 WKUP 引脚,其它 I/O 口均工作在高阻态。
  • 唤醒延迟: 芯片复位的时间。
  • 唤醒后: 相当于芯片复位,在程序表现为从头开始执行代码。

WFI与WFE命令

我们了解到进入各种低功耗模式时都需要调用 WFI 或 WFE 命令,它们实质上都是内核指令,在库文件 core_cm3.h 中把这些指令封装成了函数。

/** brief 等待中断等待中断 是一个暂停执行指令暂停至任意中断产生后被唤醒
*/
#define __WFI        __wfi /** brief 等待事件等待事件 是一个暂停执行指令暂停至任意事件产生后被唤醒
*/
#define __WFE        __wfe

对于这两个指令,我们应用时一般只需要知道,调用它们都能进入低功耗模式,需要使用函数的格式“__WFI();”和“__WFE();”来调用(因为__wfi 及__wfe 是编译器内置的函数,函数内部调用了相应的汇编指令)。

其中 WFI 指令决定了它需要用中断唤醒,而 WFE 则决定了它可用事件来唤醒。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/725127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Casper Network(CSPR)即将迎来两项重大升级,以实现功能上的进一步完善

Casper Network(CSPR)即将实现更加完备的功能升级,现已进入倒计时阶段。 Casper Network(CSPR)将升级到其最先进以及更全的版本,即“功能完备”的版本,让Casper Network(CSPR&#…

腾讯云十大优惠活动曝光,TOP10值得买云服务器配置报价

腾讯云服务器多少钱一年?61元一年起,2核2G3M配置,腾讯云2核4G5M轻量应用服务器165元一年、756元3年,4核16G12M服务器32元1个月、312元一年,8核32G22M服务器115元1个月、345元3个月,腾讯云服务器网txyfwq.co…

Java实现读取转码写入ES构建检索PDF等文档全栈流程

背景 之前已简单使用ES及Kibana和在线转Base64工具实现了检索文档的demo,并已实现WebHook的搭建和触发流程接口。 传送门: 基于GitBucket的Hook构建ES检索PDF等文档全栈方案 使用ES检索PDF、word等文档快速开始 实现读取本地文件入库ES 总体思路&…

44、网络编程/数据库相关操作练习20240306

一、代码实现数据库的创建&#xff08;员工信息表&#xff09;&#xff0c;并存储员工信息&#xff08;工号、姓名、薪资&#xff09;&#xff0c;能实现增加人员信息、删除人员信息、修改人员薪资操作。 代码&#xff1a; #include<myhead.h>int do_update(sqlite3 *p…

Python中的模块包第三方库详解

模块&包 模块 一个.py文件就是一个模块&#xff0c;里面是一些函数和变量&#xff0c;需要的时候可以导入。 模块命名规范: 1.以英文开头&#xff0c;不出现中文 2.模块名不应与系统内置函数重名 包 包本身就是一个文件夹&#xff0c;如果文件夹内有__init__.py文件&…

Java电梯模拟升级版

Java电梯模拟升级版 文章目录 Java电梯模拟升级版前言一、UML类图二、代码三、测试 前言 在上一版的基础上进行升级&#xff0c;楼层采用享元模式进行升级&#xff0c;并对楼层对象进一步抽象 一、UML类图 二、代码 电梯调度器抽象类 package cn.xx.evevator;import java.ut…

K倍区间 刷题笔记

法一 前缀和暴力搜索 &#xff08;数据大会超时&#xff09; #include<iostream> #include<cstring> #include<algorithm> #include<cstdio> using namespace std; const int N100010; int a[N],s[N]; int n,k; int main(){ cin>>n>>…

RISC-V架构学习资料整理

1、韦东山——D1S哪吒开发板的裸机代码仓库 https://github.com/bigmagic123/d1-nezha-baremeta 2、melis系统移植到D1S https://blog.51cto.com/u_13800193/6268813 3、韦东山的gitee仓库 https://gitee.com/weidongshan 4、D1S编译工具链下载 https://github.com/Tina-Linux/…

LabVIEW管道缺陷智能检测系统

LabVIEW管道缺陷智能检测系统 管道作为一种重要的输送手段&#xff0c;其安全运行状态对生产生活至关重要。然而&#xff0c;随着时间的推移和环境的影响&#xff0c;管道可能会出现老化、锈蚀、裂缝等多种缺陷&#xff0c;这些缺陷若不及时发现和处理&#xff0c;将严重威胁到…

ProxySQL实现mysql8主从同步读写分离

ProxySQL基本介绍 ProxySQL是 MySQL 的高性能、高可用性、协议感知代理。以下为结合主从复制对ProxySQL读写分离、黑白名单、路由规则等做些基本测试。 先简单介绍下ProxySQL及其功能和配置&#xff0c;主要包括&#xff1a; 最基本的读/写分离&#xff0c;且方式有多种&…

Java递归生成本地文件目录树形结构

Java递归生成本地文件目录(树行结构) 1.读取txt文件保存的文件目录结构 2.递归生成本地文件目录树形结构&#xff0c;并修改目录文件前缀进行递增 3.结果截图 4.代码 package com.zfi.server.device;import io.swagger.annotations.Api; import org.springframework.web.bind…

Postman接口测试—配置token为全局变量,配置测试环境

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 为什么要进行接口测试 因为不同端&#xff08;前段&#xff0c;后端&#xff09;的工作进度不一…

仿牛客网项目---关注模块的实现

本篇文章是关于我的项目的关注模块的开发。 关注模块的开发实现了用户之间的关注功能和关注列表的展示。通过使用相应的服务类处理关注和取消关注操作&#xff0c;并利用用户服务类获取用户信息&#xff0c;实现了关注功能的存储和查询。同时&#xff0c;通过触发关注事件&…

【软考】设计模式之访问者模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. java示例5.1 喂动物5.1.1 抽象访问者5.1.2 具体访问者5.1.3 抽象元素5.1.4 具体元素5.1.5 对象结构5.1.6 客户端类5.1.7 结果示例 5.2 超市销售系统5.2.1 业务场景5.2.2 业务需求类图5.2.3 抽象访问者5.2.4 具体访问者5.2.5 抽象元素…

前端面试拼图-原理源码

摘要&#xff1a;最近&#xff0c;看了下慕课2周刷完n道面试题&#xff0c;记录下... 1. JS内存泄漏如何检测&#xff1f;场景有哪些? 1.1 垃圾回收 GC 垃圾回收是一种自动管理内存的机制&#xff0c;它负责在运行时跟踪内存的分配和使用情况&#xff0c;并在不再需要的对象…

理解CAE

用于自监督表示学习的上下文自动编码器 摘要 我们提出了一种新的掩模图像建模(MIM)方法&#xff0c;上下文自编码器(CAE)&#xff0c;用于自监督表示预训练。我们通过在编码的表示空间中进行预测来预训练编码器。预训练任务包括两个任务:掩模表示预测—预测掩模块的表示&…

专业145+总分410+西工大西北工业大学827信号与系统考研经验电子信息与通信工程,海航,真题,大纲,参考书。

经过一年的努力&#xff0c;分数终于出来。今年专业课827信号与系统145&#xff08;很遗憾差了一点点满分&#xff0c;没有达到Jenny老师的最高要求&#xff09;&#xff0c;数一130&#xff0c;英语和政治也都比较平衡&#xff0c;总分410分&#xff0c;当然和信息通信考研Jen…

C及C++每日练习(2)

1.选择&#xff1a; 1.使用printf函数打印一个double类型的数据&#xff0c;要求&#xff1a;输出为10进制&#xff0c;输出左对齐30个字符&#xff0c;4位精度。以下哪个选项是正确的&#xff1f; A.%-30.4e B.%4.30e C.%-30.4f D.%-4.30 在上一篇文章中&#xff0c;提到了…

变老特效哪个app可以拍?深入探索变老效果的应用

随着科技的进步和智能手机的普及&#xff0c;各种摄影应用如雨后春笋般涌现&#xff0c;为我们提供了前所未有的创意拍摄体验。其中&#xff0c;变老特效因其独特的魅力&#xff0c;吸引了众多用户的关注。这种特效能够让我们在短时间内看到自己老去的模样&#xff0c;既有趣又…

JavaWeb HTTP 请求头、请求体、响应头、响应体、响应状态码

J2EE&#xff08;Java 2 Platform Enterprise Edition&#xff09;是指“Java 2企业版”&#xff0c;B/S模式开发Web应用就是J2EE最核心的功能。 Web是全球广域网&#xff0c;也称为万维网(www)&#xff0c;能够通过浏览器访问的网站。 在日常的生活中&#xff0c;经常会使用…