本帖最后由 wu1169668869 于 2015-10-3 14:07 编辑
找到问题了,在地板那一楼,感觉是cubemx的bug吧或者是我这个软件的问题。
感觉是个人现象还是和大家分享一下~
当然看到一块主频很高的板子
想必很多人都想好好研(shou)究(cang)研(yi)究(kuai)
抱着这种对知(ban)识(zi)的渴求,我申请了这块板子,并且有幸申请到了这块板子。
之前发了一个DCMI尝试的算是分享吧(https://bbs.21ic.com/icview-1131568-1-2.html)用的是原子的例程,直接对PLL_M,PLL_N,PLL_P的值进行修改
抛开板子型号的定义(如STM32F40_41xxx),直接在程序里敲PLL_M,PLL_N,PLL_P右键跳转就知道哪个值是有效的
找到时钟的配置,理论上说这个频率不可能正常工作啊???
PLL_M 8
PLL_N 336
PLL_P 2
配置使用PLLCLK作为系统时钟,则当前时钟:
SYSCLK = HSE/PLL_M * PLL_N / PLL_P = 168MHz
。。。。。。固件库单步运行了SystemInit函数中的时钟配置SetSysClock,没有问题的样子 = =。
然后是cubemx的配置
配置完成直接生成代码,芯片直接跑飞掉了单步调试,发现程序在
SystemClock_Config->HAL_RCC_ClockConfig中的
tickstart = HAL_GetTick();//具体是stm32f4xx_hal_rcc.c的671行左右
然后就跑飞了
不知道是什么问题
然后改到PLL输出时钟最大为256/2=128MHz的时候工程才能正常运行
|