做网站显示不同字体网站内容结构

张小明 2026/1/13 6:53:59
做网站显示不同字体,网站内容结构,提供做网站服务好,企业网站用什么域名一、前言在实际嵌入式开发过程中#xff0c;我们会去考虑我们设计出来的产品的实际工作时间#xff0c;例如桥梁探测系统#xff0c;智能穿戴设备#xff0c;我们希望在满足用户前提下尽可能地减少用户充电次数#xff0c;所以引出今日沟通的主题#xff1a;低功耗模式。…一、前言在实际嵌入式开发过程中我们会去考虑我们设计出来的产品的实际工作时间例如桥梁探测系统智能穿戴设备我们希望在满足用户前提下尽可能地减少用户充电次数所以引出今日沟通的主题低功耗模式。比如桥梁探测设备在冬季不下雨的时候设备就可以进入休眠模式实时探测数据的时间间隔可以适当拉长。接下来我们一起来了解下三种模式。1 电源控制电源控制PWRPower Control。电源对电子设备来说非常重要它是保证系统稳定运行的基础。在保证系统能稳定运行的同时对嵌入式设备一般又有低功耗的需求。1.1电源框图1VDDA供电区域主要负责模拟部分的供电。为了提高转换的精确度ADC使用一个独立的电源供电过滤和屏蔽来自印刷电路板上的毛刺干扰。主要给A/D转换器、温度传感器、复位模块、PLL等供电。2VDD供电区域VDD是数字电的正极VSS是数字电的负极电压3.3V。给I/O电路、待机电路和电压调节器供电。31.8V供电区域CPU核心、内部存储器、内置的数字外设都是工作在1.8V的电压。1.8V的低电压是由从电压调节器得到的。4后备供电区域VBAT引脚会接电池和其他电源当VDD断电时可以保存备份寄存器的内容和给RTC供电。VBAT脚也为RTC、LSE振荡器和PC13至PC15供电这保证当主要电源被切断时RTC能继续工作。5电压调节器复位后电压调节器总是工作使能的。有3种不同的工作模式运转模式调节器以正常功耗模式提供1.8V电源(内核、内存和外设)2.停止模式调节器以低功耗模式提供1.8V电源用于保存寄存器和SRAM的内容。待机模式调节器停止供电。除了备用电路和备份域外寄存器和SRAM的内容全部丢失。1.2上电复位和掉电复位类似于按键有延迟当VDD/VDDA低于指定的限位电压VPOR/VPDR时系统保持为复位状态而无需外部复位电路。复位和解除复位有一个40mv的迟滞电压。当电压大于VPOR时解除复位当电压小于VPDR时进入复位。设置2个阈值的作用是当电压在附近抖动的时候防止频繁的复位和解除复位。1.3 低功耗在系统或电源复位以后微控制器处于运行状态。当CPU不需继续运行时可以利用多种低功耗模式来节省功耗例如等待某个外部事件时。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件选定一个最佳的低功耗模式。STM32F10xxx有三种低功耗模式1.3.1 睡眠模式1睡眠模式SLEEP-NOW如果SLEEPONEXIT位被清除当WRI或WFE被执行时微制器立即进入睡眠模式。SLEEP-ON-EXIT如果SLEEPONEXIT位被置位系统从最低优先级的中断处理程序中退出时微控制器就立即进入睡眠模式。注意在睡眠模式下所有的I/O引脚都保持它们在运行时的状态。验证LED进入睡眠模式依然会亮2退出睡眠模式如果执行WFI指令进入睡眠模式任意一个被嵌套向量中断控制器响应的外设中断都能将系统从睡眠模式唤醒。如果执行WFE指令进入睡眠模式则一旦发生唤醒事件时微处理器都将从睡眠模式退出。1.3.2停止模式停止模式是在Cortex™-M3的深睡眠模式基础上结合了外设的时钟控制机制在停止模式下电压调节器可运行在正常或低功耗模式。此时在1.8V供电区域的的所有时钟都被停止PLL、HSI和HSE RC振荡器的功能被禁止SRAM和寄存器内容被保留下来。注意在停止模式下所有的I/O引脚都保持它们在运行模式时的状态。1进入停止模式在停止模式下通过设置电源控制寄存器(PWR_CR)的LPDS位使内部调节器进入低功耗模式能够降低更多的功耗。如果正在进行闪存编程直到对内存访问完成系统才进入停止模式。如果正在进行对APB的访问直到对APB访问完成系统才进入停止模式。2退出停止模式1.3.3待机模式待机模式可实现系统的最低功耗。该模式是在Cortex-M3深睡眠模式时关闭电压调节器。整个1.8V供电区域被断电。PLL、HSI和HSE振荡器也被断电。SRAM和寄存器内容丢失。只有备份寄存器和待机电路维持供电。这么说吧能停的全停。注意在待机模式下所有的I/O引脚处于高阻态除了以下的引脚复位引脚始终有效当被设置为防侵入或校准输出时的TAMPER引脚。被使能的唤醒引脚。二、代码介绍1 睡眠模式/** * 需求 : 测试STM32芯片进入低功耗 - 睡眠模式 */ /** * 睡眠模式 */ void enter_sleep_mode() { SCB-SCR ~SCB_SCR_SLEEPONEXIT; // 立即进入睡眠 //SCB-SCR | SCB_SCR_SLEEPONEXIT; // 所有中断程序处理完后再进入睡眠 __wfi(); } int main(void) { USART_Init(); LED_Init(); LED_On(LED_BLUE); printf(测试STM32芯片进入低功耗 - 睡眠模式 \n); printf(5s后STM32芯片进入睡眠模式 \n); SysTick_DelayS(2); printf(3s后STM32芯片进入睡眠模式 \n); SysTick_DelayS(1); printf(2s后STM32芯片进入睡眠模式 \n); SysTick_DelayS(1); printf(1s后STM32芯片进入睡眠模式 \n); SysTick_DelayS(1); // !进入睡眠模式 enter_sleep_mode(); // 蓝灯依然点亮 printf(STM32正常工作 \n); while(1) { LED_Blink(LED_BLUE); } }2 停止模式/** * 需求 : 测试STM32芯片进入低功耗 - 停止模式 */ /** * 停止模式 */ void enter_stop_mode() { // 开启时钟 RCC-APB1ENR | RCC_APB1ENR_PWREN; // 深睡眠 SCB-SCR | SCB_SCR_SLEEPDEEP; // 掉电 PWR-CR ~PWR_CR_PDDS; // 低功耗 PWR-CR | PWR_CR_LPDS; __wfi(); } /** * 睡眠模式 */ void enter_sleep_mode() { // 浅睡眠 SCB-SCR ~SCB_SCR_SLEEPDEEP; SCB-SCR ~SCB_SCR_SLEEPONEXIT; // 立即进入睡眠 //SCB-SCR | SCB_SCR_SLEEPONEXIT; // 所有中断程序处理完后再进入睡眠 __wfi(); } void system_clock_reset(void) { __IO uint32_t StartUpCounter 0, HSEStatus 0; /* Enable HSE */ RCC-CR | ((uint32_t)RCC_CR_HSEON); do { HSEStatus RCC-CR RCC_CR_HSERDY; StartUpCounter; } while((HSEStatus 0) (StartUpCounter ! HSE_STARTUP_TIMEOUT)); /* PLL configuration: PLLCLK HSE * 9 72 MHz */ RCC-CFGR (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); RCC-CFGR | (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); /* Enable PLL */ RCC-CR | RCC_CR_PLLON; /* Wait till PLL is ready */ while((RCC-CR RCC_CR_PLLRDY) 0) { } /* Select PLL as system clock source */ RCC-CFGR (uint32_t)((uint32_t)~(RCC_CFGR_SW)); RCC-CFGR | (uint32_t)RCC_CFGR_SW_PLL; /* Wait till PLL is used as system clock source */ while ((RCC-CFGR (uint32_t)RCC_CFGR_SWS) ! (uint32_t)0x08) { } } int main(void) { USART_Init(); KEY_Init(); LED_Init(); LED_On(LED_BLUE); printf(测试STM32芯片进入低功耗 - 停止模式 \n); printf(5s后STM32芯片进入停止模式 \n); SysTick_DelayS(2); printf(3s后STM32芯片进入停止模式 \n); SysTick_DelayS(1); printf(2s后STM32芯片进入停止模式 \n); SysTick_DelayS(1); printf(1s后STM32芯片进入停止模式 \n); SysTick_DelayS(1); // !进入停止模式 enter_stop_mode(); // !外部中断唤醒芯片后默认会采用HSI的震荡电路的频率所以不是72M。 // !所以如果想要STM32芯片正常工作那么就需要重新选择PLL时钟源 system_clock_reset(); SysTick_DelayMs(10); // 蓝灯依然点亮 printf(STM32正常工作 \n); while(1) { LED_Blink(LED_BLUE); } }3 待机模式/** * 需求 : 测试STM32芯片进入低功耗 - 待机模式 */ /** * 待机模式 */ void enter_standby_mode() { // 开启时钟 RCC-APB1ENR | RCC_APB1ENR_PWREN; // 深睡眠 SCB-SCR | SCB_SCR_SLEEPDEEP; // 掉电 PWR-CR | PWR_CR_PDDS; // 清除唤醒标志位 PWR-CR | PWR_CR_CWUF; // 使能唤醒引脚 PWR-CSR | PWR_CSR_EWUP; __wfi(); } /** * 停止模式 */ void enter_stop_mode() { // 开启时钟 RCC-APB1ENR | RCC_APB1ENR_PWREN; // 深睡眠 SCB-SCR | SCB_SCR_SLEEPDEEP; // 掉电 PWR-CR ~PWR_CR_PDDS; // 低功耗 PWR-CR | PWR_CR_LPDS; __wfi(); } /** * 睡眠模式 */ void enter_sleep_mode() { // 浅睡眠 SCB-SCR ~SCB_SCR_SLEEPDEEP; SCB-SCR ~SCB_SCR_SLEEPONEXIT; // 立即进入睡眠 //SCB-SCR | SCB_SCR_SLEEPONEXIT; // 所有中断程序处理完后再进入睡眠 __wfi(); } void system_clock_reset(void) { __IO uint32_t StartUpCounter 0, HSEStatus 0; /* Enable HSE */ RCC-CR | ((uint32_t)RCC_CR_HSEON); do { HSEStatus RCC-CR RCC_CR_HSERDY; StartUpCounter; } while((HSEStatus 0) (StartUpCounter ! HSE_STARTUP_TIMEOUT)); /* PLL configuration: PLLCLK HSE * 9 72 MHz */ RCC-CFGR (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); RCC-CFGR | (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); /* Enable PLL */ RCC-CR | RCC_CR_PLLON; /* Wait till PLL is ready */ while((RCC-CR RCC_CR_PLLRDY) 0) { } /* Select PLL as system clock source */ RCC-CFGR (uint32_t)((uint32_t)~(RCC_CFGR_SW)); RCC-CFGR | (uint32_t)RCC_CFGR_SW_PLL; /* Wait till PLL is used as system clock source */ while ((RCC-CFGR (uint32_t)RCC_CFGR_SWS) ! (uint32_t)0x08) { } } int main(void) { USART_Init(); KEY_Init(); LED_Init(); LED_On(LED_BLUE); printf(测试STM32芯片进入低功耗 - 待机模式 \n); printf(5s后STM32芯片进入待机模式 \n); SysTick_DelayS(2); printf(3s后STM32芯片进入待机模式 \n); SysTick_DelayS(1); printf(2s后STM32芯片进入待机模式 \n); SysTick_DelayS(1); printf(1s后STM32芯片进入待机模式 \n); SysTick_DelayS(1); // !进入待机模式 enter_standby_mode(); while(1) { } }三、寄存器介绍四、归纳和总结相同点三种模式均通过PWR外设控制核心操作是配置PWR_CR寄存器 执行WFI/WFE指令。唤醒后都需要重新配置部分硬件待机模式需完全重启停止模式需配置外设时钟睡眠模式无需额外配置。低功耗的核心逻辑都是减少时钟和电压调节器的功耗消耗。不同点断电程度睡眠模式 停止模式 待机模式断电越彻底功耗越低但数据保持能力越弱。唤醒难度睡眠模式最容易任意中断 / 事件待机模式最难仅特定唤醒源。恢复速度睡眠模式最快无缝恢复待机模式最慢相当于复位重启。核心参数对比
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

龙华网站建设app建设部城市管理监督局网站官网

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

张小明 2025/12/29 12:55:34 网站建设

公司网站域名在哪里备案学校网站的建设

list和forward_list相似,不同的地方在于forward_list是单链表,只能够向前迭代与其他容器相比(vector、array、deque),list通常在任意位置插入和删除的执行效率更好与其他序列式容器相比,list、forward_list…

张小明 2026/1/8 17:15:48 网站建设

个人网站如何建做外贸在哪个平台比较好

许多TECNO用户希望找到一种简单的方法,以熟悉的电子表格格式(如Excel)备份联系人,以便更好地整理、查看或共享信息。无论您是更换设备、与其他平台同步,还是创建手机外的本地备份,了解如何将TECNO联系人导出…

张小明 2026/1/5 8:12:21 网站建设

打开网站弹出广告代码wordpress模板兔

终极指南:使用urdf-viz轻松可视化机器人URDF文件 【免费下载链接】urdf-viz 项目地址: https://gitcode.com/gh_mirrors/ur/urdf-viz urdf-viz是一个强大的开源工具,专门用于可视化和交互URDF(统一机器人描述格式)和XACRO…

张小明 2026/1/3 23:41:07 网站建设

河南电商网站开发北京网络营销推广公司

深入了解 UNIX 系统管理职业:层级、要求与发展路径 1. 引言 UNIX 系统管理工作涵盖了诸多方面,如求职、应对面试、面试候选人等。同时,还涉及与供应商、销售代表、响应中心、帮助台以及支持工程师的协作。这份工作远不止坐在终端前那么简单,接下来我们将详细了解 UNIX 系…

张小明 2026/1/6 21:39:55 网站建设

网站建设流程中哪些部分比较重要台州网站定制

一、实验核心概述 1. 实验目标 理解图像特征提取的核心意义(提取区分性关键信息,支撑后续识别、分类任务);掌握多维度特征提取方法:颜色空间通道、边缘、角点、SIFT 特征、纹理特征;熟悉 MATLAB 相关工具…

张小明 2026/1/12 22:42:14 网站建设