STM32F4的外部晶振不同带来的改变

这个我话题我以前写过一个文章:

STM32F4的system_stm32f4xx.c文件需要根据不同板卡进行修改

不过写的不够细致。

现在有必要细细写一下:

(1)stm32f4xx.h里面的

(2)

system_stm32f4xx.c

外部内存的FSMC也要改(改了肯定OK,不改行不行我不大清楚)(后来试验了,下面这句不改也可以)

readWriteTiming.FSMC_CLKDivision = 0x04;改为 writeTiming.FSMC_CLKDivision = 0x00;

就是说经过上面两处改动,系统时钟仍然是168M,如下:

#if defined(STM32F40_41xxx)
  uint32_t SystemCoreClock = 168000000;
#endif /* STM32F40_41xxx */

其实这个链接早就做了回答:

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

另外这个链接  http://www.icfans.com/question/199168724392087552

说还要改

修改STM32F407工程的Options设置

在Option for target"Flash"窗口中,选择Target页面,修改STMicroelectronics STM32F407VG栏中Xtal(MHz)的值为25.0

这个链接STM32晶振8M改12M方法说出了  修改Options设置的原因。

这个链接STM32使用非8M晶振时如何修改代码 也说出了修改Options设置的原因。和上面链接原因一样,就是影响调试的观察值。

那么  25M好 还是8M好呢?

这个链接有讨论:

STM32F429的外部晶振用8M和25M两种有什么区别?

另外感觉 ST早期的例子用的是8M,后期的例子用的是25M

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]中的内容,STM32F4单片机使用外部晶振,并且在stm32f4xx.h文件中可以设置晶振频率参数。默认情况下,该参数被设置为25M。如果我们需要将晶振频率设置为8M,我们可以通过定义一个预编译宏来实现。最简单的方法是在工程的编译参数页面中设置这个宏:在C/C++ Preprocessor Symbols中的Define框中添加HSE_VALUE=8000000。这样就可以将晶振频率设置为8M。 另外,根据引用\[2\]中的内容,还可以通过修改system_stm32f4xx.c文件中的PLL_M参数来设置晶振频率。在该文件中,可以找到#define PLL_M 25这条语句,将参数值25改为8即可。 综上所述,如果我们需要将STM32F4的输出晶振频率设置为8M,可以通过定义预编译宏HSE_VALUE=8000000或修改system_stm32f4xx.c文件中的PLL_M参数为8来实现。 #### 引用[.reference_title] - *1* [stm32使用外部晶振时匹配晶振频率](https://blog.csdn.net/cs_sword2000/article/details/127173144)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32F4修改晶振频率](https://blog.csdn.net/hsjdw/article/details/60574071)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值