我使用HK32F030F4P6这款芯片,HSI 从8M/2*12=48M 倍频为SYSCLK,但是GPIO最快翻转的时候只有6M左右,这个最快翻转是SYSCLk的1/4,也就是说MCU实际工作频率只达到了24M的样子。检查了频率等都没有错,估计可能flash等待周期引起SYSCLK=48M 但实际MCU要执行指令要等待flash取指而降为1/2的执行频率。麻烦确认 flash等待周期要如何配置,我如果配置为0个等待周期好像程序跑飞了,开了预取指设置1个等待周期实际降频1/2运行,这款CPU到底有指令预取指缓存没有?注意我这里是问MCU实际跑的频率,而不是问SYSCLK是不是48M的频率,可能外设等都可以跑48M但MCU降频了。
gpio操作,两条str指令一个gpio的方波,理论频率为48/4=12M,但实际只有6M左右。
|