[其他ST产品] CubeMx生成的stm32f013vet6设备的对于SDIOCLK频率设置的宏定义与手册里面对不上

[复制链接]
 楼主| 海滨消消 发表于 2024-6-7 09:39 | 显示全部楼层 |阅读模式
在手册里面有SDIO adapter clock (SDIOCLK = HCLK)
当HCLK设置为72MHz的时候进行配置SDIO_CK, 通过寄存器SDIO_CLKCR的位7:0(CLKDIV)进行设置, 在不使用旁路时钟的时候, SDIO_CK=SDIOCLK/[CLKDIV+2], 应该是对72MHz进行分频
但是CubeMX生成的代码里面默认的参数是对48MHz进行分频
在文件stm32f1xx_ll_sdmmc.h文件里面的这两个宏定义是针对48MHz
这里的48MHz是怎么来的?
并且在进行初始化的时候会使用到这一个宏, 如果时钟是72MHz的话会超过限制的最大400KHz的频率,导致出现问题

liu96jp 发表于 2024-9-2 15:06 | 显示全部楼层
在使用STM32CubeMX生成代码时,可能会遇到生成的代码中的宏定义与STM32芯片手册中的SDIOCLK频率设置不一致的情况。这可能是由于STM32CubeMX的配置或代码生成过程中的某些设置导致的。
t1ngus4 发表于 2024-9-2 16:11 | 显示全部楼层
确保在STM32CubeMX中正确配置了SDIO的时钟设置。检查时钟树配置,确保SDIOCLK的频率设置正确
d1ng2x 发表于 2024-9-2 17:15 | 显示全部楼层
代码生成设置,在STM32CubeMX中,可能有一些高级设置或选项会影响代码生成。确保这些设置与手册中的要求一致
suw12q 发表于 2024-9-2 18:25 | 显示全部楼层
宏定义不一致,生成的代码中的宏定义可能与手册中的定义不一致。检查生成的代码中的宏定义,并与手册中的定义进行比较
su1yirg 发表于 2024-9-2 19:30 | 显示全部楼层
确保选择了正确的时钟源作为SDIO的时钟源。例如,SDIOCLK可能来自HCLK(AHB总线时钟),确保HCLK的频率设置正确
tax2r6c 发表于 2024-9-2 20:35 | 显示全部楼层
检查SDIO的时钟分频器设置,确保分频器的值与手册中的要求一致
l1uyn9b 发表于 2024-9-2 21:41 | 显示全部楼层
如果发现生成的代码中的宏定义与手册中的要求不一致,可以手动修改生成的代码,或者重新配置STM32CubeMX并重新生成代码
q1ngt12 发表于 2024-9-3 08:28 | 显示全部楼层
一般要是不对的话,我觉得可以按照cubemx为主
zhizia4f 发表于 2024-9-3 10:00 | 显示全部楼层
手册可能没更新就会出现这种情况,以cubemx为准吧,比较靠谱
w2nme1ai7 发表于 2024-9-3 15:00 | 显示全部楼层
确保在修改和重新生成代码时,所有相关的配置和设置都与手册中的要求一致,以避免不一致的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

255

主题

1798

帖子

2

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