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

云匠网app廊坊seo快速排名

云匠网app,廊坊seo快速排名,购物网站建设策划书,织梦模板怎么验证网站文章目录 PWR电源电源管理器上电复位(POR)和掉电复位(PDR) 可编程电压监测器(PVD)低功耗模式睡眠模式停止模式待机模式 睡眠模式工程停止模式待机模式 PWR STM32的PWR模块是其电源管理系统的核心部分&…

文章目录

  • PWR
  • 电源
  • 电源管理器
    • 上电复位(POR)和掉电复位(PDR)
  • 可编程电压监测器(PVD)
  • 低功耗模式
    • 睡眠模式
    • 停止模式
    • 待机模式
  • 睡眠模式工程
  • 停止模式
  • 待机模式

PWR

STM32的PWR模块是其电源管理系统的核心部分,负责控制和管理芯片的供电和电源状态

电源

STM32的工作电压(VDD)为2.0~3.6V。通过内置的电压调节器提供所需的1.8V电源。
当主电源VDD掉电后,通过VBAT脚为实时时钟(RTC)和备份寄存器提供电源。
在这里插入图片描述

在这里插入图片描述
VDDA供电区域是为模拟电路提供电源的区域。VDDA通常由外部电源提供,通过电源管理单元(PWR)进行控制和管理。
VDDA的电压范围:2.4V~3.6V(具体取决于不同型号的芯片),并且必须在此范围内保持稳定和可靠的供电。
为了提高转换的精确度, ADC使用一个独立的电源供电,过滤和屏蔽来自印刷电路板上的毛刺干扰。
对于不同的引脚封装,所需的电源引脚也是不同的。(如图中的VREF)。
在这里插入图片描述

这部分是为数字电路提供的电源区域,也是最主要的电源区域。
Vdd的电压范围:1.8V~3.6V
供电区域包括输入输出接口的电路,待机电路(唤醒逻辑、看门狗)以及电压调节器。
对于我们外设电路,一般都为3.3V,当他连接到内电路时,会通过电压调节器调整到1.8V来链接CPU核心存储器和内置数字外设,此操作是为了能够减少电源消耗。
在这里插入图片描述
后备供电区域就是上一节为RTC和备份寄存器提供能源的区域。
主要作用是在主电源失效或断电时,提供持久的电源支持和数据保护。

RTC时钟链接处

电源管理器

电源管理器一般用于电源的监测和进行复位操作。

上电复位(POR)和掉电复位(PDR)

在这里插入图片描述
在上电复位(POR)和掉电复位(PDR)方面,PWR模块监测VDD/DDA是否低于设定的阈值,当电压低于设定的阈值时,系统保持在复位状态,以确保电路的正常运行。这种情况一般发生在芯片刚刚接通电源或电源恢复时。上电复位会将芯片的所有寄存器和内部状态初始化为默认值,使系统进入一个已知的、可靠的状态。
在图中我们会发现上电复位会有一些滞后时间,这是由于电源和芯片内部的复位电路之间的时间延迟引起的。当供电电压开始上升时,电源需要经过一个上升时间才能稳定到达复位阈值之以上,同时芯片内部的复位电路也需要一定时间来检测并响应供电电压的变化。这种供电电压上升和内部电路检测的时间延迟导致了上电复位的滞后

掉电复位在芯片的供电电压低于掉电复位阈值(PDR)以下时,系统会触发掉电复位,将芯片的所有寄存器和内部状态初始化为默认值。

可编程电压监测器(PVD)

在这里插入图片描述
在这里插入图片描述
下面是Vpvd可以选择监测电压范围
在这里插入图片描述
在这里插入图片描述
总的来说,监测电压范围为2.1V~2.9V;一旦有设置PVD检测,超过这个范围的,就会输出PVD信号。

低功耗模式

在系统或者电源复位后,微控制器会处于运行状态;在CPU不需要运行时,我们可以通过低功耗模式,以实现节能和延长电池寿命。低功耗模式会通过关闭或减少一些不必要的外设和时钟来降低系统功耗,同时又保持一些关键功能的运行。且对于关闭的一些外设,在需要运行的时候,要有手段来唤醒这些外设。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开启流程:
在这里插入图片描述

睡眠模式

在这里插入图片描述

停止模式

****

待机模式

在这里插入图片描述

睡眠模式工程

SWART串口链接入口

通过对串口的发送和接收数据工程进行验证。

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "Buzzer.h"
#include "Serial.h"
#include "OLED.h"
int main()
{uint8_t Rxdata;OLED_Init();Serial_Init();OLED_ShowString(1,1,"RxData:");while(1){if(Serial_GetRxFlag()==1){Rxdata=Serial_GetRxData();Serial_SendByte(Rxdata);OLED_ShowHexNum(1,8,Rxdata,2);}OLED_ShowString(2,1,"Running");Delay_ms(100);OLED_ShowString(2,1,"       ");Delay_ms(100);__WFI();}}

当没有睡眠模式时,由于程序不断的跑动,Running会在屏幕上不停闪烁;通过睡眠模式,来使SWART串口非发送和接收状态,不会进行程序的跑动,只有在串口发送和接收时,才会从睡眠模式恢复过来,节省消耗;
在这里插入图片描述
WFI是等待中断;只要触发该指令,就会进入睡眠模式;通过接收数据的中断来唤醒。
在开启流程图还需要SLEEPDEEP和SLEEPONEXIT,由于PWR没有内置该模式函数,我们就从简入手;不开这两个相关寄存器也不影响操作;

停止模式

外部中断文章链接入口

通过对对射式红外传感器工程的触发,来验证停止模式。

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "Buzzer.h"
#include "LightSensor.h"
#include "OLED.h"
#include "CountSensor.h"
int main()
{OLED_Init();CountSensor_Init();RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);OLED_ShowString(1,1,"Count:");while(1){OLED_ShowNum(1,7,CountSensor_Get(),5);OLED_ShowString(2,1,"Running");Delay_ms(100);OLED_ShowString(2,1,"       ");Delay_ms(100);PWR_EnterSTOPMode(PWR_Regulator_ON,PWR_STOPEntry_WFI);SystemInit();}
}

与上一个工程相同的道理,利用闪烁来表示程序的不断进行,停止模式会使程序中断,只有触发外部中断时,才有唤醒电源;
在这里插入图片描述
这是库函数内置的停止模式,第一个参数是选择开启电压调节器低功耗和开启;第二个参数是选择唤醒事件指令或者是中断指令;
!](https://img-blog.csdnimg.cn/ac6f360b319243ee9f12a5c53c8a5d37.png)
由于一个中断或唤醒事件导致退出停止模式时,HSI被选为系统时钟,唤醒后时钟频率变为8MHz,需要通过SystemInit()函数来初始化时钟频率。
在这里插入图片描述

待机模式

RTC时钟链接处

通过RTC闹钟唤醒和AWAUP的上升唤醒来验证待机模式;

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "MyRTC.h"int main()
{Time time;time.year=2023;time.mon=1;time.mday=1;time.hour=23;time.min=59;time.sec=55;OLED_Init();MyRTC_Init(&time);RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);// PWR_WakeUpPinCmd(ENABLE);MyRTC_SetTime(&time);OLED_ShowString(1, 1, "ALR :");OLED_ShowString(2, 1, "ALRF:");OLED_ShowString(3, 1, "CNT :");uint32_t Alarm=RTC_GetCounter()+10;RTC_SetAlarm(Alarm);OLED_ShowNum(1,6,Alarm,10);while (1){MyRTC_ReadTime(&time);OLED_ShowNum(3, 6, RTC_GetCounter(), 10);OLED_ShowNum(2, 6, RTC_GetFlagStatus(RTC_FLAG_ALR), 1);OLED_ShowString(4,1,"Running");Delay_ms(100);OLED_ShowString(4,1,"       ");Delay_ms(100);// OLED_ShowString(4, 9, "STANDBY");//	Delay_ms(1000);//	OLED_ShowString(4, 9, "       ");//	Delay_ms(100);//   OLED_Clear();PWR_EnterSTANDBYMode();}}

让闹钟值大于CNT十秒,当达到闹钟值时,就会让标志位置1,可以先观察标志位是否置换,然后再执行待机模式。
在这里插入图片描述
在这里插入图片描述
下面的只要让一PA0(有WAUP功能)引脚接上正极,就能触发唤醒。

http://www.hrbkazy.com/news/16796.html

相关文章:

  • 做校服的网站seo是什么意思 职业
  • 网站建设报价方案模板关键词搜索工具好站网
  • 洛阳做网站公司地址网站出租三级域名费用
  • 做分销商城网站的西安网络推广优化培训
  • wordpress showcase百度seo营销推广多少钱
  • 做印刷哪个网站好百度站长快速收录
  • 做网站网页尺寸是多少魔方优化大师官网
  • 长沙网站制作案例怎么让百度收录网站
  • python 网站开发 案例泰州网站建设优化
  • 做java面试题的网站网站关键词优化推广
  • 网站建设合同的注意点关键词是怎么排名的
  • 自己做的网站怎么设置关键词营销推广的工具有哪些
  • go做后端的网站保健品的营销及推广方案
  • 建设银行洛阳市分行网站seo应该如何做
  • 网站 开发百度识图搜索引擎
  • 娄底市住房和城乡建设局网站网上怎么注册公司免费的
  • 网站建设招标无代码网站开发平台
  • 密云做网站的yoast seo教程
  • seo竞价排名安徽seo人员
  • 网站开发流程三部分互联网营销推广公司
  • 每日财经新闻东莞整站优化
  • 深圳市营销策划有限公司成都网站优化排名
  • 网站建设 上海珍岛产品营销推广方案
  • 狮山做网站推广优化seo
  • 网站必须做电子认证吗优化工具箱
  • 南昌市做网站公司杭州专业seo公司
  • 重庆市工程造价信息网查询长春最专业的seo公司
  • 怎样建设一个网站赚钱上海百度seo点击软件
  • 潍坊建立企业网站公司网站策划方案案例
  • 用jsp做网站的难点什么是搜索引擎营销