STM32外部8兆晶振改为内部晶振
时间: 2023-10-17 09:05:13 浏览: 51
如果您想将STM32的外部8MHz晶振改为内部晶振,可以按照以下步骤进行操作:
1. 在STM32的代码中,找到配置系统时钟的代码段,一般为RCC配置相关的代码。可以根据您所使用的芯片型号和开发板的具体情况进行修改。
```c
/* RCC system reset(for debug purpose) */
// RCC_DeInit();
/* Enable HSE */
// RCC_HSEConfig(RCC_HSE_ON);
/* Wait till HSE is ready */
// while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);
/* Enable Prefetch Buffer */
// FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/* Flash 2 wait state */
// FLASH_SetLatency(FLASH_Latency_2);
/* HCLK = SYSCLK */
// RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* PCLK2 = HCLK */
// RCC_PCLK2Config(RCC_HCLK_Div1);
/* PCLK1 = HCLK/2 */
// RCC_PCLK1Config(RCC_HCLK_Div2);
/* PLLCLK = 8MHz * 9 = 72 MHz */
// RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
/* Enable PLL */
// RCC_PLLCmd(ENABLE);
/* Wait till PLL is ready */
// while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
/* Select PLL as system clock source */
// RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/* Wait till PLL is used as system clock source */
// while(RCC_GetSYSCLKSource() != 0x08);
```
2. 将上述代码中的HSE(外部晶振)相关的代码注释掉,保留PLL相关的代码。为了使用内部晶振,您需要将PLL的输入时钟源选择为HSI(内部晶振)。
```c
/* RCC system reset(for debug purpose) */
// RCC_DeInit();
/* Enable Prefetch Buffer */
FLASH_PrefetchBufferCmd(ENABLE);
/* Flash 2 wait state */
FLASH_SetLatency(FLASH_Latency_2);
/* HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);
/* PCLK1 = HCLK/2 */
RCC_PCLK1Config(RCC_HCLK_Div2);
/* PLLCLK = 8MHz * 9 = 72 MHz */
RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_9);
/* Enable PLL */
RCC_PLLCmd(ENABLE);
/* Wait till PLL is ready */
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
/* Select PLL as system clock source */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/* Wait till PLL is used as system clock source */
while(RCC_GetSYSCLKSource() != 0x08);
```
3. 在代码中使用内部时钟源时,需要注意以下事项:
- 内部时钟源的频率为8MHz,比外部晶振的频率低,需要对代码进行相应的修改,以适应内部时钟源;
- 内部时钟源的精度比外部晶振低,可能会产生一些时钟误差,需要根据实际情况进行调试和优化;
- 如果您需要使用外部晶振,需要修改代码并重新烧录程序。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)