怎么配置主频?
芯片型号是CW32F003DEMOCODE默认是24M的,我在DEMO CODE的基础上修改之后,无法仿真了。
修改如下:
RCC_HSI_Enable( RCC_HSIOSC_DIV1 ); //RCC_HSIOSC_DIV2 24M
InitTick( 48000000 ); //InitTick( 24000000 ); 初始化SysTick
请问除了这里还有哪里需要修改的? 时钟大于24MHz时,需要插入FLASH等待时间。
请参考如下代码:
//打开FLASH时钟
__RCC_FLASH_CLK_ENABLE();
FLASH_SetLatency( FLASH_Latency_2 ); //系统时钟大于24M需要配置FlashWait
//关闭FLASH时钟
__RCC_FLASH_CLK_DISABLE();
RCC_HSI_Enable( RCC_HSIOSC_DIV1); //配置系统时钟为HSI 48M
InitTick( 48000000 ); pssyx 发表于 2025-4-17 11:01
时钟大于24MHz时,需要插入FLASH等待时间。
请参考如下代码:
//打开FLASH时钟
你好,我现在做的板子只用了两个串口和16个数的数码管,24M应该够用了吧?(我测试48M只是想试一下能不能跑) 钓鱼大师 发表于 2025-4-17 14:57
你好,我现在做的板子只用了两个串口和16个数的数码管,24M应该够用了吧?(我测试48M只是想试一下能不能 ...
24M够用! 时钟大于24MHz时,需要插入FLASH等待时间。 我觉得24M的主频其实应该也是够了吧 检查是否还需要启用其他时钟源(如HSE),并确保时钟树配置正确。 保证PLL配置正确,包括PLL倍频因子和分频因子,以便从HSI或其他时钟源生成48MHz的系统时钟。 某些外设(如GPIO、USART、SPI、I2C等)的时钟分频可能需要调整,以匹配新的系统时钟频率。检查外设初始化代码,确保时钟分频设置正确。 InitTick(48000000);修改了SysTick的时钟源为48MHz。确保SysTick的时钟源配置正确(通常为系统时钟或分频后的时钟)。 仿真器(如J-Link、ST-Link等)的时钟频率可能需要调整以匹配新的系统时钟。 检查仿真器的配置文件或IDE设置,确保仿真器时钟频率与目标设备时钟频率匹配。 更高的时钟频率可能导致中断延迟减少,确保中断服务例程(ISR)能够及时处理。检查中断优先级配置,确保关键中断不会被阻塞 如果代码中有时间相关的逻辑(如延时函数、定时器配置等),需要确保这些逻辑能够适应更高的时钟频率。重新计算延时参数或定时器配置,以确保时间精度 添加调试输出(如通过串口打印信息),验证系统时钟和外设是否正常工作。使用示波器或逻辑分析仪检查关键信号(如时钟信号、外设信号)的波形和频率。 检查系统时钟配置。 定时器的时钟通常来自 APB1/APB2。若未更新定时器的预分频系数(Prescaler),可能导致定时器中断频率错误。 检查定时器/Flash 等待周期。
页:
[1]