OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 22939|回复: 9

将外部晶振8M改为25M,程序应该怎样修改?

[复制链接]

56

主题

143

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
384
金钱
384
注册时间
2013-1-18
在线时间
57 小时
发表于 2015-8-17 12:35:37 | 显示全部楼层 |阅读模式
5金钱
大家好,我想把探索者F4开发板的外部8M晶振,修改为25M,请问原子的例程需要相应修改哪些?

最佳答案

查看完整内容[请看2#楼]

修改的地方之一:stm32f4xx.h里面的HSE_VALUE,系统默认采用外部8M晶振,所以 #define HSE_VALUE    ((uint32_t)8000000) ,现把它修改为 #define HSE_VALUE    ((uint32_t)25000000)  修改的地方之二:系统通过PLL倍频到168M,所以在配置PLL的时候,也需要作相应的修改。在system_stm32f4xx.c里,需要把PLL_M修改为25,不然会超频到336M的主频,使STM32 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

56

主题

143

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
384
金钱
384
注册时间
2013-1-18
在线时间
57 小时
 楼主| 发表于 2015-8-17 12:35:38 | 显示全部楼层
修改的地方之一:stm32f4xx.h里面的HSE_VALUE,系统默认采用外部8M晶振,所以 #define HSE_VALUE    ((uint32_t)8000000) ,现把它修改为 #define HSE_VALUE    ((uint32_t)25000000) 

修改的地方之二:系统通过PLL倍频到168M,所以在配置PLL的时候,也需要作相应的修改。在system_stm32f4xx.c里,需要把PLL_M修改为25,不然会超频到336M的主频,使STM32不能正常工作,常见表现为掉进HardFault_Handler()中。如果固件库为V1.5.0,就不需要改(无此内容)。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-8-17 22:21:45 | 显示全部楼层
楼主这是自问自答,解决了?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
32
金钱
32
注册时间
2016-7-24
在线时间
9 小时
发表于 2016-7-24 15:40:20 | 显示全部楼层
楼主,我的STM32F4xx.h怎么没法改数据,好像锁住了,怎么办?新手上路,特别感谢
回复

使用道具 举报

36

主题

256

帖子

0

精华

高级会员

Rank: 4

积分
921
金钱
921
注册时间
2016-4-20
在线时间
169 小时
发表于 2016-7-27 15:43:32 | 显示全部楼层
无疆1 发表于 2016-7-24 15:40
楼主,我的STM32F4xx.h怎么没法改数据,好像锁住了,怎么办?新手上路,特别感谢

你的文件是只读模式,把只读勾掉就可以了。
回复

使用道具 举报

36

主题

256

帖子

0

精华

高级会员

Rank: 4

积分
921
金钱
921
注册时间
2016-4-20
在线时间
169 小时
发表于 2016-7-27 15:49:28 | 显示全部楼层
无疆1 发表于 2016-7-24 15:40
楼主,我的STM32F4xx.h怎么没法改数据,好像锁住了,怎么办?新手上路,特别感谢

你现在文件不能修改可能是这样的,你要到工程目录找到文件,然后在“属性”里面把文件的“只读”勾掉。然后再打开工程就可以修改文件了。
8159.tmp.png
DC91.tmp.png
F543.tmp.png
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
32
金钱
32
注册时间
2016-7-24
在线时间
9 小时
发表于 2016-7-27 21:34:30 | 显示全部楼层
czdspeed 发表于 2016-7-27 15:49
你现在文件不能修改可能是这样的,你要到工程目录找到文件,然后在“属性”里面把文件的“只读”勾掉。然 ...

嗯嗯,谢谢。
回复

使用道具 举报

8

主题

55

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
314
金钱
314
注册时间
2017-1-14
在线时间
48 小时
发表于 2017-2-18 16:05:58 | 显示全部楼层
这个修改,看起来简单,如果搞错了,后面会带来很多麻烦。我就有痛苦的经历!
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2017-2-3
在线时间
2 小时
发表于 2017-2-18 17:09:48 | 显示全部楼层
zydwh 发表于 2015-8-17 12:35
修改的地方之一:stm32f4xx.h里面的HSE_VALUE,系统默认采用外部8M晶振,所以 #define HSE_VALUE ...

请问

/**
* @brief In the following line adjust the value of External High Speed oscillator (HSE)
   used in your application
   
   Tip: To avoid modifying this file each time you need to use different HSE, you
        can define the HSE value in your toolchain compiler preprocessor.
  */           

#if !defined  (HSE_VALUE)
  #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
  
#endif /* HSE_VALUE */

他这里的tips,说如果要避免每次改时钟都修改,就在编译链里解决,请问具体怎么做呢,谢谢。
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2016-1-5
在线时间
9 小时
发表于 2017-2-28 09:39:11 | 显示全部楼层
请问一下,我现在用的是26MHz的外部时钟,要设置哪些地方,现在下载程序后没有反应????
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-13 03:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表