[应用相关] 关闭GPIO时钟是不是这个GPIO就不再耗电了,处于高阻态吗

[复制链接]
2854|19
 楼主| xixi2017 发表于 2025-1-25 17:35 | 显示全部楼层 |阅读模式
__HAL_RCC_GPIOX_CLK_DISABLE(); // 停用 GPIOX 端口的时钟


一秒落纱 发表于 2025-2-8 01:00 | 显示全部楼层
一般是关闭时钟再关闭IO好像才可以吧

夜阑风雨 发表于 2025-2-8 02:00 | 显示全部楼层
这个不清楚,你最好看看低功耗方面的例程才行

远山寻你 发表于 2025-2-8 03:00 | 显示全部楼层
要是想关闭IO的话,得设置它为输入模式好像,然后再关闭时钟这种

光辉梦境 发表于 2025-2-8 04:00 | 显示全部楼层
对于ST的芯片,关闭GPIO时钟并不意味着这个GPIO就不再耗电,同时其状态也并非一定处于高阻态

三生万物 发表于 2025-2-8 05:00 | 显示全部楼层
关闭GPIO时钟可以降低该GPIO的功耗,因为时钟信号是芯片内部许多功能运行的基础,包括GPIO的输入输出操作。当关闭时钟时,与该时钟相关的功能会停止运行,从而减少了功耗

冰春彩落下 发表于 2025-2-8 06:00 | 显示全部楼层
关闭GPIO时钟并不意味着GPIO会立即进入高阻态。GPIO的状态取决于其配置和外部电路的连接情况。在某些情况下,即使关闭了时钟,GPIO可能仍然保持其之前的电平状态(高电平或低电平),或者进入一种未定义的状态

别乱了阵脚 发表于 2025-2-8 07:00 | 显示全部楼层
GPIO进入高阻态通常需要在特定的配置下实现。例如,在某些STM32微控制器中,可以通过将GPIO配置为浮空输入模式(Floating Input)来实现高阻态。此时,GPIO的输入端既不连接上拉电阻也不连接下拉电阻,而是直接连接到输入缓冲器

江河千里 发表于 2025-2-8 08:00 | 显示全部楼层
关闭GPIO时钟并不直接导致GPIO进入高阻态。GPIO的状态取决于其配置和外部电路的连接情况。即使关闭了时钟,如果GPIO被配置为其他模式(如推挽输出、开漏输出或复用功能模式),它也不会进入高阻态

暖了夏天蓝了海 发表于 2025-2-8 09:00 | 显示全部楼层
对于ST的芯片来说,关闭GPIO时钟可以降低该GPIO的功耗,但并不能保证它进入高阻态。GPIO的状态取决于其配置和外部电路的连接情况。如果需要确保GPIO处于高阻态,应该根据具体的芯片型号和参考手册进行配置

公羊子丹 发表于 2025-2-8 09:01 | 显示全部楼层
一般来说关闭 GPIO 时钟确实能降低功耗,但具体是不是完全高阻态可能还要看引脚配置。
周半梅 发表于 2025-2-8 09:02 | 显示全部楼层
如果 GPIO 配置为输出模式,即使时钟关了,输出状态还是会维持的。
帛灿灿 发表于 2025-2-8 09:03 | 显示全部楼层
建议在关闭时钟之前把 GPIO 先设置为模拟模式,这样能确保最低功耗。
童雨竹 发表于 2025-2-8 09:05 | 显示全部楼层
实测经验来看,停用时钟后,GPIO 处于浮空输入状态(高阻态)可能性比较高。
万图 发表于 2025-2-8 09:06 | 显示全部楼层
不同系列 MCU 的电路实现可能有些区别,比如 F0 和 F4 系列在时钟关闭后的行为就不完全相同。
Wordsworth 发表于 2025-2-8 09:07 | 显示全部楼层
你可以测试一下 GPIO 的漏电流来确认它是不是完全高阻态状态。
Bblythe 发表于 2025-2-8 09:08 | 显示全部楼层
除了关闭 GPIO 时钟,还可以考虑禁用引脚的上拉和下拉电阻来进一步减少功耗。
Pulitzer 发表于 2025-2-8 09:09 | 显示全部楼层
如果外部电路需要保持某种电平,关闭 GPIO 时钟可能会导致状态不稳定。
Uriah 发表于 2025-2-8 09:10 | 显示全部楼层
如果只是为了降低功耗,也可以考虑直接禁用整个外设时钟组,比如 APB 总线的时钟。
Clyde011 发表于 2025-2-8 09:11 | 显示全部楼层
建议查阅对应 STM32 芯片的电气特性部分,有详细说明 GPIO 时钟关闭后的功耗状态。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

2034

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部