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

龙华网站建设多少钱门户网站建设方案中信息公开

龙华网站建设多少钱,门户网站建设方案中信息公开,wordpress头部警告错误,泰安集团网站建设地点【STM32笔记】低功耗模式下GPIO省电配置避坑实验#xff08;闲置引脚配置为模拟输入其实更耗电#xff09; 前文#xff1a; blog.csdn.net/weixin_53403301/article/details/128216064 【STM32笔记】HAL库低功耗模式配置#xff08;ADC唤醒无法使用、低功耗模式无法烧录解…【STM32笔记】低功耗模式下GPIO省电配置避坑实验闲置引脚配置为模拟输入其实更耗电 前文 blog.csdn.net/weixin_53403301/article/details/128216064 【STM32笔记】HAL库低功耗模式配置ADC唤醒无法使用、低功耗模式无法烧录解决方案 关于外设配置 blog.csdn.net/weixin_53403301/article/details/129060093 【STM32笔记】低功耗模式下GPIO、外设省电配置避坑 众所周知 GPIO配置为模拟输入最省电 在CubeMX中 有一项可以将未用到的引脚全部配置为模拟输入 若是不开启任何GPIO 以STM32L496RGT6为例 函数为 /*** brief GPIO Initialization Function* param None* retval None*/ static void MX_GPIO_Init(void) {GPIO_InitTypeDef GPIO_InitStruct {0};/* GPIO Ports Clock Enable */__HAL_RCC_GPIOC_CLK_ENABLE();__HAL_RCC_GPIOH_CLK_ENABLE();__HAL_RCC_GPIOA_CLK_ENABLE();__HAL_RCC_GPIOB_CLK_ENABLE();__HAL_RCC_GPIOD_CLK_ENABLE();/*Configure GPIO pins : PC13 PC0 PC1 PC2PC3 PC4 PC5 PC6PC7 PC8 PC9 PC10PC11 PC12 */GPIO_InitStruct.Pin GPIO_PIN_13|GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12;GPIO_InitStruct.Mode GPIO_MODE_ANALOG;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOC, GPIO_InitStruct);/*Configure GPIO pins : PA0 PA1 PA2 PA3PA4 PA5 PA6 PA7PA8 PA9 PA10 PA11PA12 PA15 */GPIO_InitStruct.Pin GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_15;GPIO_InitStruct.Mode GPIO_MODE_ANALOG;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOA, GPIO_InitStruct);/*Configure GPIO pins : PB0 PB1 PB2 PB10PB11 PB12 PB13 PB14PB15 PB3 PB4 PB5PB6 PB7 PB8 PB9 */GPIO_InitStruct.Pin GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9;GPIO_InitStruct.Mode GPIO_MODE_ANALOG;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOB, GPIO_InitStruct);/*Configure GPIO pin : PD2 */GPIO_InitStruct.Pin GPIO_PIN_2;GPIO_InitStruct.Mode GPIO_MODE_ANALOG;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOD, GPIO_InitStruct);/*Configure GPIO pin : PH3 */GPIO_InitStruct.Pin GPIO_PIN_3;GPIO_InitStruct.Mode GPIO_MODE_ANALOG;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOH, GPIO_InitStruct);}可以看到 在配置之前 需要先开启GPIO时钟 另外 如果配置了外部晶振或系统调试 则仅会开启时钟 而不会有任何引脚复用的配置 __HAL_RCC_GPIOC_CLK_ENABLE();__HAL_RCC_GPIOH_CLK_ENABLE();__HAL_RCC_GPIOA_CLK_ENABLE();但无论是官方手册 还是官方例程 引脚配置前都应开启时钟 再进行配置 所以在进行模拟输入配置时 都会把所有的引脚时钟开启 以我做的最小系统板进行测试 download.csdn.net/download/weixin_53403301/86930297 其主要耗电为两个LED灯 去掉这两个LED灯 并且进入待机模式后 实测只有8uA以下的功耗 这两个LED灯也是为了方便测试 在恒压源3.3V供电的前提下 从以下四个方面进行测试 每次都在电流稳定后读取 三次复位以后取平均值 精度10uA 按CubeMX生成的所有闲置引脚模拟输入代码 直接烧录进去按CubeMX生成的代码 去掉GPIOB和GPIOD的时钟仅保留系统调试和高低速外部晶振 再进行初始化按CubeMX生成的代码 进行初始化以后 再去掉GPIOB和GPIOD的时钟仅保留系统调试和高低速外部晶振不进行GPIO初始化 GPIO时钟仅保留系统调试和高低速外部晶振时钟 关闭GPIOB和GPIOD的时钟只开启GPIOC、GPIOA、GPIOH的时钟并且将C、A、H剩下的引脚配置为模拟输入 关闭GPIOB和GPIOD的时钟且不对其进行任何配置 其实测电流如下 12345按CubeMX生成的所有闲置引脚模拟输入代码 直接烧录进去按CubeMX生成的代码 去掉GPIOB和GPIOD的时钟仅保留系统调试和高低速外部晶振 再进行初始化按CubeMX生成的代码 进行初始化以后 再去掉GPIOB和GPIOD的时钟仅保留系统调试和高低速外部晶振不进行GPIO初始化 GPIO时钟仅保留系统调试和高低速外部晶振时钟 关闭GPIOB和GPIOD的时钟只开启GPIOC、GPIOA、GPIOH的时钟并且将C、A、H剩下的引脚配置为模拟输入 关闭GPIOB和GPIOD的时钟且不对其进行任何配置1.27mA1.12mA1.29mA1.08mA1.13mA同2 其中 功耗最低的是不进行模拟输入初始化的方案 仅关闭不需要的时钟 其次是仅配置需要保留的GPIO组时钟 并把其他引脚配置为模拟输入 在关闭时钟时 GPIO配置其实是无效的还是会进行配置 将相关参数写入寄存器 但GPIO不会工作 所以无效 所以方案2和方案5等价的 这两者都是在初始化之前没开启时钟 方案2虽然将寄存器写入 但功耗其实和5差不多 实验也存在误差 所以可以忽略不计 而方案4则更加直接了 没有进行任何GPIO配置 直接关闭不用的时钟 重点是1和3 1的话就是开启了所有时钟 然后把闲置引脚都配置为模拟输入 3则是进行1之后 再关闭闲置时钟 其中 3的耗电量是最高的 尽管初始化后面关闭了时钟 但其实最多就是跟1差不多 完全比不上2 4 5 甚至功耗比1还高虽然可能存在误差 所以 综合来说 以省电优先级顺序来看 如果这一组GPIO都没用到过 那么直接不开启时钟就最省电 如果这一组GPIO有引脚用过了 时钟不能关 那么就将用过的引脚配置为模拟输入 尽量不要勾选CubeMX中的配置闲置引脚为模拟输入的选项 没用到的时钟还开启了会增加很多耗电 切记 不要将没用过的引脚配置为模拟输入 耗电量其实会稍微增加一点 不要将没用过的GPIO时钟打开以后再配置为模拟输入 耗电量会增加很多 就算配置后再关时钟也没用 低功耗模式扩展 在进入STOP模式时 GPIO会保留原本的状态 所以把开启后不需要再保留的GPIO配置为模拟输入确实省电 时钟的话不用的肯定关 其他的反正都会关除了保留的时钟 在进入SLEEP模式时 时钟并不会关闭 所以时钟应手动关闭 且将开启后的GPIO配置为模拟输入 待机模式和关机模式就更不用在意GPIO口耗电了 附上我进入低功耗前的GPIO配置函数 /*!* brief 重置GPIO都会进行或再将除外部高低速晶振复用、SWCLK、SWDIO复用的所有GPIO配置为模拟输入false* 注意用于串口唤醒等的引脚不可配置为模拟输入也不可关闭* 在进行GPIO初始化前先将GPIO_DeInit但是不做也不影响不过还是建议跑一下* 以优先级顺序来看* 如果这一组GPIO都没用到过 那么直接不开启时钟就最省电* 如果这一组GPIO有引脚用过了 时钟不能关 那么就将用过的引脚配置为模拟输入* 切记* 不要将没用过的引脚配置为模拟输入 耗电量其实会稍微增加一点* 不要将没用过的GPIO时钟打开以后再配置为模拟输入 耗电量会增加很多 就算配置后再关时钟也没用* 尽量不要勾选CubeMX中的配置闲置引脚为模拟输入的选项 没用到的时钟还开启了会增加很多耗电* 低功耗模式配置* 在进入STOP模式时 GPIO会保留原本的状态 所以把开启后不需要再保留的GPIO配置为模拟输入确实省电 时钟的话不用的肯定关 其他的反正都会关除了保留的时钟* 在进入SLEEP模式时 时钟并不会关闭 所以时钟应手动关闭 且将开启后的GPIO配置为模拟输入* 待机模式和关机模式就更不用在意GPIO口耗电了* https://blog.csdn.net/weixin_53403301/article/details/129055530** param [in] EnableNotDisable: 使所有GPIO变成模拟输入或不进行模拟配置** return None*/ void GPIO_Reset_Init(bool EnableNotDisable) { // HAL_GPIO_DeInit(GPIOA,GPIO_PIN_2|GPIO_PIN_3); //用于串口唤醒的引脚 不可变动HAL_GPIO_DeInit(GPIOA,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_15);HAL_GPIO_DeInit(GPIOB,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9);HAL_GPIO_DeInit(GPIOC,GPIO_PIN_13|GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12);HAL_GPIO_DeInit(GPIOD,GPIO_PIN_2);HAL_GPIO_DeInit(GPIOH,GPIO_PIN_3);if(EnableNotDisable){GPIO_InitTypeDef GPIO_InitStruct {0};/* GPIO Ports Clock Enable */__HAL_RCC_GPIOC_CLK_ENABLE();__HAL_RCC_GPIOH_CLK_ENABLE();__HAL_RCC_GPIOA_CLK_ENABLE();__HAL_RCC_GPIOB_CLK_ENABLE();__HAL_RCC_GPIOD_CLK_ENABLE();/*Configure GPIO pins : PC13 PC0 PC1 PC2PC3 PC4 PC5 PC6PC7 PC8 PC9 PC10PC11 PC12 */GPIO_InitStruct.Pin GPIO_PIN_13|GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12;GPIO_InitStruct.Mode GPIO_MODE_ANALOG;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOC, GPIO_InitStruct);/*Configure GPIO pins : PA0 PA1 PA2 PA3PA4 PA5 PA6 PA7PA8 PA9 PA10 PA11PA12 PA15 */GPIO_InitStruct.Pin GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_15;GPIO_InitStruct.Mode GPIO_MODE_ANALOG;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOA, GPIO_InitStruct);// //用于串口唤醒的 不可变动 // GPIO_InitStruct.Pin GPIO_PIN_2|GPIO_PIN_3; // GPIO_InitStruct.Mode GPIO_MODE_ANALOG; // GPIO_InitStruct.Pull GPIO_NOPULL; // HAL_GPIO_Init(GPIOA, GPIO_InitStruct);/*Configure GPIO pins : PB0 PB1 PB2 PB10PB11 PB12 PB13 PB14PB15 PB3 PB4 PB5PB6 PB7 PB8 PB9 */GPIO_InitStruct.Pin GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9;GPIO_InitStruct.Mode GPIO_MODE_ANALOG;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOB, GPIO_InitStruct);/*Configure GPIO pin : PD2 */GPIO_InitStruct.Pin GPIO_PIN_2;GPIO_InitStruct.Mode GPIO_MODE_ANALOG;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOD, GPIO_InitStruct);/*Configure GPIO pin : PH3 */GPIO_InitStruct.Pin GPIO_PIN_3;GPIO_InitStruct.Mode GPIO_MODE_ANALOG;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOH, GPIO_InitStruct);} }
http://www.hkea.cn/news/14585683/

相关文章:

  • 网页制作与网站建设 论文seo快速排名易下拉霸屏
  • 四川住房和城乡建设厅网站不能打开取名字网站如何做
  • 建新网站开发流程图便利的邯郸网站建设
  • 河南濮阳网站建设建筑设计公司名称
  • 信誉好的集团网站建设网页设计师培训哪个好
  • 深圳网站建设找哪188自助建站系统
  • 开题报告网站开发方法国内wordpress大牛
  • 广州网站建设公司排名电商平台开发需要多少钱
  • 哪个网站做高中的题好服务好的网站制作
  • lol解说网站源码古交市网站建设公司
  • 找人做网站要注意什么口碑好的邯郸网站建设
  • 网站开发的课程大悟建设局网站
  • 外贸网站推广建设海南企业年报网上申报入口
  • 短连接转换网站开发中国能源建设集团有限公司招聘网
  • 不在百度做推广他会把你的网站排名弄掉沈阳建设工程信息网 费用中项网
  • app模板网站模板一加官方网站进入
  • 有域名有空间如何做网站网站建设分为那几个模块
  • 广告公司网站设计方案台州seo优化
  • 上海装修公司口碑最好的是哪家网站优化平台有哪些
  • 垂直网站需要多少钱用网站做赌彩广告
  • 只有网站才需要域名吗彩票类网站是如何做代理的
  • 如何做网站清风制作网站底部设计代码
  • 综合性门户网站是什么意思良精企业网站管理系统源码 后台不能编辑产品
  • 做网站开发的公司销售个人网站允许做内部论坛吗
  • 韩国建筑网站南宁市网络公司地址
  • 邹城市建设银行网站快速做网站流量数据统计分析
  • 集团网站建设 中企动力成都网站托管外包
  • 网站建设要懂哪些技术阜宁网站建设
  • 自己做网赌网站wordpress内插件翻译
  • 专业网站制作公司四川扁平化设计网站欣赏