STM32 晶振 系统时钟8MHZ和72Mhz的原因

it2022-05-09  16

首先问题描述:

1、自己画的板子和淘宝买的最小系统板 系统时钟不一致,自己画的是8Mhz,HSE失败;最小系统板72Mhz

2、最小系统板在程序1运行仿真的时候,查看peripherals->Power,Reset and Clock Control(PRCC)是72MHZ,在程序2仿真的时候是8Mhz,程序SystemInit()所在的文件一模一样;

3、出现过8M晶振坏了,更换晶振后时钟源正常72Mhz

 

问题1原因:

1、注意晶振的匹配电容的值,测试版发现系统时钟有问题时,可以是晶振不起振,匹配电容的值不对会导致晶振不起振;

 

2、STM32f103 内部HSI为8Mhz,当外部时钟HSE启动失败,则system_stm32f10x.c配置系统时钟为8Mhz,时钟源为内部时钟HSI  

3、STM32f10x的启动文件会在main之前调用SystemInit(),初始化时钟,

Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT __main IMPORT SystemInit LDR R0, =SystemInit BLX R0 LDR R0, =__main BX R0 ENDP

 问题2原因:.....还是没找到原因  之前以为是启动文件的问题    PRCC显示8Mhz的启动文件用的都是md  不是_hd的,与配置里的hd不符。 使用最小系统板目前PRCC显示8Mhz的程序是 test_led+gpio +uart123+timer_clk 和test_led+gpio+touchboardIIC+exti,正常显示72Mhz的程序是Smart_Power1021和test_ic_gsm_rly_8MHZ_netcheck _不等待AT响应;

8mhz调用RCC_GetSYSCLKSource()  返回值显示0x08: PLL used as system clock

 

PLL used as system clock

 

转载于:https://www.cnblogs.com/fyp7077/p/8302772.html

相关资源:STM32F030F4 模拟IO作为IIC驱动DS1307时钟芯片以及24C32模块

最新回复(0)