[STM32F4] stm32f4系列sdio 时钟如何获取

[复制链接]
1046|10
 楼主| jcky001 发表于 2025-2-24 15:08 | 显示全部楼层 |阅读模式

stm32f4系列sdio 时钟如何获取,stm32h7可以通过sdmmc_clk=HAL_RCCEx_GetPeriphCLKFreq(STM32_RCC_PERIPHCLK_SDMMC);这个函数获取 stm32f4 sdio时钟如何获取通过什么函数

谢谢
公羊子丹 发表于 2025-3-10 08:04 | 显示全部楼层
STM32F4没有HAL_RCCEx_GetPeriphCLKFreq这个函数,可以用HAL_RCC_GetPCLK2Freq()来获取SDIO时钟。
周半梅 发表于 2025-3-10 08:07 | 显示全部楼层
STM32F4的SDIO时钟一般来源于PCLK2,检查一下PCLK2的时钟配置就行。
帛灿灿 发表于 2025-3-10 08:12 | 显示全部楼层
如果使用CubeMX生成代码,可以在时钟树里找到SDIO的时钟来源,确定PCLK2频率。
童雨竹 发表于 2025-3-10 08:14 | 显示全部楼层
我之前在STM32F4项目里用HAL_RCC_GetPCLK2Freq()成功获取过SDIO时钟,挺稳的。
万图 发表于 2025-3-10 08:16 | 显示全部楼层
STM32F4的SDIO最大时钟频率是48MHz,注意别超频了,不然会出问题。
Wordsworth 发表于 2025-3-10 08:18 | 显示全部楼层
检查一下RCC->DCKCFGR寄存器,SDIO时钟源的选择和分频设置都在这里。
Bblythe 发表于 2025-3-10 08:19 | 显示全部楼层
直接用SystemCoreClock结合时钟树计算SDIO时钟频率也行,关键是PCLK2的设置。
Pulitzer 发表于 2025-3-10 08:21 | 显示全部楼层
如果用的是HSE时钟源,PCLK2频率要特别注意,别超过SDIO的时钟上限。
Uriah 发表于 2025-3-10 08:23 | 显示全部楼层
我用过STM32F4的SDIO跑FatFS,时钟设置成48MHz,性能还挺不错的。
Clyde011 发表于 2025-3-10 08:24 | 显示全部楼层
STM32F4不像H7那样有专门的获取函数,得手动计算或检查寄存器状态。
夜阑风雨 发表于 2025-3-23 01:04 | 显示全部楼层
STM32F4 系列中,SDIO 的时钟源和频率获取方式与 STM32H7 系列不同。STM32F4 没有直接提供类似 HAL_RCCEx_GetPeriphCLKFreq(STM32_RCC_PERIPHCLK_SDMMC) 的函数来获取 SDIO 时钟频率,因此需要通过手动计算或配置来获取

江河千里 发表于 2025-3-23 02:45 | 显示全部楼层
STM32F4 SDIO 时钟源可以是以下之一:PLL48CLK:由 PLL 生成的 48MHz 时钟。SYSCLK:系统时钟(如果 SYSCLK 48MHz)。默认情况下,SDIO 时钟源是 PLL48CLK

一秒落纱 发表于 2025-3-23 03:45 | 显示全部楼层
由于 STM32F4 没有直接提供获取 SDIO 时钟频率的函数,可以通过以下方式计算:如果使用 PLL48CLK其频率固定为 48MHz。可以通过检查 RCC 配置确认是否使用 PLL48CLK

别乱了阵脚 发表于 2025-3-23 04:11 | 显示全部楼层
如果 SYSCLK 被配置为 48MHz,并且选择 SYSCLK 作为 SDIO 时钟源,则 SDIO 时钟频率为 48MHz

冰春彩落下 发表于 2025-3-23 05:27 | 显示全部楼层
STM32F4 系列中,SDIO 时钟频率可以通过以下步骤获取:确认 SDIO 时钟源(PLL48CLK SYSCLK

暖了夏天蓝了海 发表于 2025-3-23 06:08 | 显示全部楼层
获取时钟源频率。考虑 SDIO 时钟分频器。计算实际 SDIO 时钟频率

淡漠安然 发表于 2025-3-23 07:32 | 显示全部楼层
其实你就是用HAL配置不就行了吗,用cubemx来配置一下

远山寻你 发表于 2025-3-23 08:48 | 显示全部楼层
这个没注意共,一般你可以看时钟树方面

三生万物 发表于 2025-3-23 09:49 | 显示全部楼层
我认为获取时钟函数可以看RCC部分,但是这个最好对照着时钟树来操作

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1650

主题

5706

帖子

6

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