完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
1个回答
|
|
一、电源监控器 stm32芯片主要通过引脚VDD从外部获取电源,在它的内部有电源监控器,用于检测VDD的电压,以实现复位功能和紧急掉电处理,来保持系统可靠地运行。 1、上电复位(POR)与掉电复位(PDR) 当检测到VDD的电压低于阈值VPOR及VPDR时,无需外部电路辅助,STM32芯片会自动保持在复位状态,防止电压不住强行工作带来的不良后果。刚开始VDD电压低于VPOR(约1.92v)时,STM32处于上电复位状态,当电压持续上升到大于VPOR时,芯片开始正常运行。当检测到电压低于VPDR(约1.88v)阈值时,STM32处于掉电复位状态。 2、可编程电压检测器PVD 除了POR和PDR防止误操作。STM32还提供了可编程电压检测器PVD,当检测到VDD的电压低于编程的VPVD阈值时,会向内核产生一个PVD中断,以使内核在复位前进行紧急处理.该电压阈值可通过电源控制寄存器PWR_CSRd置。 3、电源系统 电源系统的主要分为备份域电路、内核电路和ADC电路3部分。 ①备份域电路 STM32的LSE震荡器、RTC和备份寄存器被包含在备份域电路中。通过VBAT引脚获取供电电源。 ②内核电路(也叫调压器供电电路,即1.8V区域) 为备份域和待机电路以外的所有数字电路供电。包括内核数字外设和RAM。调压器可以运行在运行模式、停止模式和待机模式。 ③ADC电路 为了提高ADC的转换精度,STM32为ADC配了独立的电源接口,方便进行单独的滤波。 二、STM32的功耗模式 按功耗由高到低排序,STM32有运行、睡眠、停止、待机4种工作模式。上电复位后STM32处于运行状态,当内核不需要运行时可选择后面三种低功耗模式,以降低功率。这三种模式中,电源消耗不同,唤醒时间不同,唤醒源不同。 1.睡眠模式 仅关闭了内核,片上外设及M3外设都在运行。有两种方式进入睡眠模式,WFI和WFE,他的进入方式决定了唤醒方式。由WFI进入的由中断唤醒,执行完中断函数后继续从WFI后面运行。由WFE进入的则由事件唤醒。唤醒后直接执行WFE后的程序。 LED_Init(); Key_GPIO_Init(); LED(0); __WFI();//进入睡眠模式 //等待KEY1按下产生中断唤醒 //唤醒后接着向下执行 LED(3); delayms(1000); LED(4); delayms(1000); LED(5); 2.停止模式 在停止模式中进一步关闭了其他时钟,故在停止模式下所有的外设也停止工作。但由于1.8V区域电源没关闭,寄存器和内存的信息还在所以停止模式结束后还是可以接着进入停止模式的地方接着向下执行代码。 LED_Init(); Key_GPIO_Init(); LED(0); //进入停止模式 PWR_EnterSleepMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI); //被唤醒后接着向下执行 //从停止模式被唤醒后使用的是HSI时钟,这里重启HSE时钟,使用PLLCLK SYSCLK_Config_STOP(); LED(1); delayms(500); LED(2); delayms(500); LED(3); 3.待机模式 待机模式关闭了所有的时钟,故待机结束后只能重新开始运行程序。注意要进入待机模式前必须使能PWR时钟。 int main() { //使能电源管理的时钟,必须要使能时钟才能进入待机模式 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE); while(1) { LED_Init(); Key_GPIO_Init(); LED(0); LED(1); delayms(500); LED(2); delayms(500); LED(3); delayms(500); while(1) { if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0) { LED(8); delayms(500); PWR_ClearFlag(PWR_FLAG_WU); PWR_WakeUpPinCmd(PWR_WakeUpPin_1,ENABLE); /*进入待机模式*/ PWR_EnterSTANDBYMode(); } } } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1752 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1611 浏览 1 评论
1052 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1666 浏览 2 评论
1924浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
711浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
560浏览 3评论
583浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
544浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 13:29 , Processed in 0.833729 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号