新人小白一个,向大佬们求助为什么在我把该图中的第一个PLL_M改成25后才能烧录入stm32f407zgt6最小系统板呢?
system_stm32f4xx.c文件中写有
其中PLL_M 为25,但所有探索板资料的例程中,PLL_M都被设置为8,而导致例程无发烧录入,表现为第一次烧录后,板子无法正确运行,第二次烧录会报错:No Cortex-M SW Device Found(我是通过jlink烧录的)
查询后发现探索板和最小系统板用的都是stm32f407zgt6,但为什么相同的程序烧进去会有不同的结果呢?
PLL_M是倍频参数,用于计算系统时钟,假如让PLL_M=8时,烧进最小系统板的程序可用应该怎么办呢?
最小系统:1.晶振,至于大小由你单片机时钟周期要求而决定2.复位电路(用于复位) 3.电源(用于供电,一般用电脑的USB口供电) 4.烧制程序的口。这里面有个时钟,而stm32探索版的时钟系统是很复杂的,包括了:五个时钟源,为HSI、HSE、LSI、LSE、PLL..而F407如果要工作在168频率下的话就要用PPL_M 25 .你用 PPL_M 8 频率没那么高。系统不能正常工作。输入的时钟(不同的最小系统采用的晶振输入可能不一样。) 经过倍频(和PPL_M),得到系统时钟(168)。考虑去看看输入时钟,经过PPL_M 8 后的时钟是否能让系统正常工作。希望能帮助你!我对这里也忘记的差不多了,如果想了解更深点的话去看看,STM32原子正点视频里面关于STM32时钟树的讲解。感觉比较详细,也很通俗易懂!
一周热门 更多>