其它核心板移植原子哥程序的问题

2019-07-20 23:05发布

本帖最后由 渭城朝雨 于 2016-4-4 20:08 编辑

        做学校布置的作业,给我们发了一个STM32F407VET6的核心板。想用原子哥库函数,下了探索版的资料。烧了一个跑马灯的程序(当然改了IO口),结果单片机死机没反应,再烧程序提示"invaild rom table".
摸索了一下,解决方法和原因都找到了。
原因:原子哥的板子用的是8M晶振,学校发的板子是25M晶振,原子哥的程序改过了分频系数和晶振的值,烧写进去后单片机时钟乱掉了。
解决办法:
1、首先擦除单片机的程序,否则无法下载。把boot0拨到高电平,用usb转串口线连接单片机串口,一般是PA9,PA10,用原子哥资料盘里的flymc串口下载程序清除一下单片机。过程不清楚的话请看原子哥串口下载的那集视频。清除完把boot0在调到接地。
2、把“system_stm32f4xx.c”的第316行,“#define PLL_M      8”改为“#define PLL_M      25”,把“stm32f4xx.h”中的"HSE_VALUE"的8000000改为"25000000".重新编译即可。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
特朗姆斯
1楼-- · 2019-07-21 01:19
建议在C/C++的Preprocessor Symbols里面定义一下HSE_VALUE=25000000,这样可以不修改stm32f4xx.h"里面的内容。
渭城朝雨
2楼-- · 2019-07-21 05:50
特朗姆斯 发表于 2016-4-5 15:16
建议在C/C++的Preprocessor Symbols里面定义一下HSE_VALUE=25000000,这样可以不修改stm32f4xx.h"里面的内 ...

好的,谢谢提醒。

一周热门 更多>