打印
[其他ST产品]

CubeMx生成的stm32f013vet6设备的对于SDIOCLK频率设置的宏定义与手册里面对不上

[复制链接]
438|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
海滨消消|  楼主 | 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中,可能有一些高级设置或选项会影响代码生成。确保这些设置与手册中的要求一致

使用特权

评论回复
5
suw12q| | 2024-9-2 18:25 | 只看该作者
宏定义不一致,生成的代码中的宏定义可能与手册中的定义不一致。检查生成的代码中的宏定义,并与手册中的定义进行比较

使用特权

评论回复
6
su1yirg| | 2024-9-2 19:30 | 只看该作者
确保选择了正确的时钟源作为SDIO的时钟源。例如,SDIOCLK可能来自HCLK(AHB总线时钟),确保HCLK的频率设置正确

使用特权

评论回复
7
tax2r6c| | 2024-9-2 20:35 | 只看该作者
检查SDIO的时钟分频器设置,确保分频器的值与手册中的要求一致

使用特权

评论回复
8
l1uyn9b| | 2024-9-2 21:41 | 只看该作者
如果发现生成的代码中的宏定义与手册中的要求不一致,可以手动修改生成的代码,或者重新配置STM32CubeMX并重新生成代码

使用特权

评论回复
9
q1ngt12| | 2024-9-3 08:28 | 只看该作者
一般要是不对的话,我觉得可以按照cubemx为主

使用特权

评论回复
10
zhizia4f| | 2024-9-3 10:00 | 只看该作者
手册可能没更新就会出现这种情况,以cubemx为准吧,比较靠谱

使用特权

评论回复
11
w2nme1ai7| | 2024-9-3 15:00 | 只看该作者
确保在修改和重新生成代码时,所有相关的配置和设置都与手册中的要求一致,以避免不一致的问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

237

主题

1588

帖子

2

粉丝