打印

[建议]更新固件库的PLL_M为自动计算

[复制链接]
3676|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aozima|  楼主 | 2013-6-17 10:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于F2/F4,修改晶振频率,一般是在 stm32fxxx_conf.h 中自定义 HSE_VALUE
#if defined  (HSE_VALUE)
/* Redefine the HSE value; it's equal to 8 MHz on the STM32F4-DISCOVERY Kit */
#undef HSE_VALUE
#define HSE_VALUE    ((uint32_t)8000000)
#endif /* HSE_VALUE */
但在
Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\system_stm32f2xx.c
Libraries\CMSIS\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c
中,依然是固定的:
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M      25
#define PLL_N      240
造成当晶振不为默认值(25M)时需要修改源文件,建议修改为:
#define PLL_M      (HSE_VALUE / 1000000UL)
沙发
dirtwillfly| | 2013-6-17 14:44 | 只看该作者
好建议,帮顶。@香水城

使用特权

评论回复
板凳
IJK| | 2013-6-17 15:10 | 只看该作者
赞同。
最好再对 HSE_VALUE 的值进行一定的检查。

使用特权

评论回复
地板
weiyuliang| | 2014-4-27 18:00 | 只看该作者
谢谢aozima同学提醒,

使用特权

评论回复
5
airwill| | 2014-4-27 20:20 | 只看该作者
这个建议很好. MCU 里面有很多的频率, 这些频率值还用个变量来保存.
我觉得宏来实现. 这样不仅节省了内存. 编译和代码效率也得到提高, 软件可靠性也得到提升了.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:RTOS RT-Thread

55

主题

2016

帖子

23

粉丝