打印
[开发资料]

CW32F030系统时钟从默认的8MHz改为48MHz后,程序跑飞,不能调试是什么原因?

[复制链接]
228|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2023-8-24 10:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CW32F030 内部的 FLASH 存储器支持最快 24MHz 频率的操作时钟,当配置的 HCLK 频率大于 24MHz 时,需通 过 FLASH 控制寄存器 FLASH_CR2 的 WAIT 位域来配置插入的等待 HCLK 周期个数。大于24MHz,小于等于48MHz时,需要插入2个等待周期;大于48MHz时,需要插入3个等待周期。

使用特权

评论回复
沙发
星辰大海不退缩| | 2023-8-27 20:41 | 只看该作者
确定是配置的问题,不是程序上其他问题?

使用特权

评论回复
板凳
AdaMaYun| | 2023-8-27 21:26 | 只看该作者
高速时钟不是分频得到的嘛

使用特权

评论回复
地板
OKAKAKO| | 2023-8-27 22:24 | 只看该作者
大于48MHz时,需要插入3个等待周期,这个是系统自动设置的吧

使用特权

评论回复
5
pssyx| | 2023-8-28 09:47 | 只看该作者
OKAKAKO 发表于 2023-8-27 22:24
大于48MHz时,需要插入3个等待周期,这个是系统自动设置的吧

FlashWait等待周期,需要手工代码插入,比如:
        ...
        REGBITS_SET( CW_SYSCTRL->AHBEN, SYSCTRL_AHBEN_FLASH_Msk);//打开FLASH时钟
        FLASH_SetLatency( FLASH_Latency_3 ); //系统时钟大于24M需要配置FlashWait
        REGBITS_CLR( CW_SYSCTRL->AHBEN, SYSCTRL_AHBEN_FLASH_Msk);//关闭FLASH时钟
        ...

使用特权

评论回复
6
前车后炮| | 2023-8-29 09:18 | 只看该作者
需要配置插入的等待 HCLK 周期个数

使用特权

评论回复
7
再见十分钟| | 2023-8-29 09:18 | 只看该作者
没遇到过这个问题

使用特权

评论回复
8
小暖| | 2023-8-29 09:19 | 只看该作者
按照芯源的说明,是要等待周期的

使用特权

评论回复
9
普通话补丁| | 2023-8-29 09:20 | 只看该作者
内部的 FLASH 存储器支持最快 24MHz 频率的操作时钟

使用特权

评论回复
10
村支书| | 2023-8-29 09:21 | 只看该作者
不能调试的情况太多了

使用特权

评论回复
11
jcky001| | 2023-11-7 10:59 | 只看该作者
检查MCU的时钟配置是否正

使用特权

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

本版积分规则

1257

主题

10847

帖子

51

粉丝