1.stm32f10xx低功耗模式 睡眠模式:cortex™-m3内核停止,所有外设包括cortex-m3核心的外设,如nvic、系统时钟(systick)等仍在运行 停止模式:所有的时钟都已停止 待机模式:1.8v电源关闭 2.stm32f10x停止模式的配置 停止模式是在cortex™-m3的深睡眠模式基础上结合了外设的时钟控制机制,在停止模式下电压调节器可运行在正常或低功耗模式。此时在1.8v供电区域的的所有时钟都被停止, pll、 hsi和hse rc振荡器的功能被禁止, sram和寄存器内容被保留下来。
进入停止模式:
在停止模式下,通过设置电源控制寄存器(pwr_cr)的lpds位使内部调节器进入低功耗模式,能够降低更多的功耗。
如果正在进行闪存编程,直到对内存访问完成,系统才进入停止模式。
如果正在进行对apb的访问,直到对apb访问完成,系统才进入停止模式。
在配置停止模式时,以下功能能需要独立进行编程:
独立看门狗(iwdg)一旦启动除非系统复位,它不能再被停止;
实时时钟(rtc)需要单独通过备份欲寄存器(rcc_dbcr)的rtcen来设置;
内部rc振荡器(lsi rc):通过控制/状态寄存器 (rcc_csr)的lsion位来设置。
外部32.768khz振荡器(lse):通过备份域控制寄存器 (rcc_bdcr)的lseon位设置。
在停止模式下,如果在进入该模式前adc和dac没有被关闭,那么这些外设仍然消耗电流。通过设置寄存器adc_cr2的adon位和寄存器dac_cr的enx位为0可关闭这2个外设。
配置步骤
1、设置cortex-m3系统控制寄存器中的sleepdeep位(scb_scr参考cortex-m3权威指南182页)。
2、 清除电源控制寄存器(pwr_cr)中的pdds位。
3、通过设置pwr_cr中lpds位选择电压调节器的模式
4、执行wfi或者wfe汇编指令
注:为了进入停止模式,所有的外部中断的请求位(挂起寄存器(exti_pr))和rtc的闹钟标志都必须被清除,否则停止模式的进入流程将会被跳过,程序继续运行。
//thumb指令不支持汇编内联//采用如下方法实现执行汇编指令wfi,等待下一个外部中断触发void wfi_set(void){ __asm volatile(wfi); }/******************进入停止模式*********************/void sys_stopmode(void){ scb->scr|=1
17));//等待外部时钟就绪 rcc->cfgr|=0x425));//等待pll锁定 rcc->cfgr|=0x2>2)&0x3; if(temp==0x2)break; } }/********************退出停止模式***********************/void sys_exitstopmode(void){ rcc->apb2enr|=1
简单认识JTAG接口
高级封装技术:创建接近单片互连性能的封装上互连
小米会如何造车?
便携式榨汁机控制板
忆阻器是什么?基于忆阻器的硬件系统有何优势?
STM32低功耗模式之停止模式的配置步骤
使用快速、精确的过流检测器对汽车安全系统进行诊断
通过六星模型看中国低压电器市场竞争格局
如何在易e语言代码中使用HTTP代理IP
鸿蒙系统设置界面与EMUI相似 老用户也难辨别?
窥视美国2017年物联网和VR发展现状
大直径测径仪在橡胶阀座生产中起着重要作用
关于IEEE 802.15.4的CC2530无线数据收发设计
摩托罗拉放弃NVIDIA 投入高通怀抱?
液位开关的种类及区别
MACE工艺制备黑硅的表面形态学和光学性能研究
云平台如何选择?谷歌和微软还是AWS呢
FPGA中隐藏了一个安全漏洞
红米4今晚7点举行发布会 雷军林斌将亲临直播间与网友互动
美高森美发布了新一代先进的SmartFusion2 SoC FPGA评测工具套件