STM32F1使用16M晶振
STM32F1使用16M晶振
更多
以下是关于 STM32F1系列使用16MHz外部晶振 的详细说明(硬件设计 + 软件配置),请根据您的需求参考对应部分:
一、硬件设计要点
-
晶振选型
- 选择 无源晶体谐振器(Crystal Oscillator),标称频率 16MHz。
- 负载电容(CL):通常为 8pF、10pF 或 12pF(需查看晶振规格书)。
-
匹配电容(C1, C2)计算
- 公式:
C1 = C2 ≈ 2 × (CL - Cstray)- CL:晶振负载电容(如 10pF)。
- Cstray:PCB寄生电容(通常取 2~5pF)。
- 推荐值:若 CL=10pF,则
C1=C2≈15pF(常用 12pF~22pF电容调试)。 - 注:电容值偏差会导致频率偏移,建议用示波器校准。
- 公式:
-
PCB布局要求
- 晶振尽量靠近芯片的 OSC_IN(PC14) 和 OSC_OUT(PC15) 引脚。
- 走线短且对称,用地线包围晶振并远离高频/电源干扰源。
- 外壳接地(若晶振有金属外壳)。
二、软件配置步骤(以标准外设库为例)
1. 修改 system_stm32f10x.c 中的宏定义
// 找到以下行并修改为 16MHz
#define HSE_VALUE ((uint32_t)16000000) // 原默认值可能是8MHz
2. 配置时钟树(72MHz主频示例)
void RCC_Configuration(void) {
// 1. 使能HSE(外部晶振)
RCC_HSEConfig(RCC_HSE_ON);
while (RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);
// 2. 配置PLL:HSE作为源,9倍频 -> 16MHz x 9 = 144MHz(需分频)
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); // 16MHz * 9 = 144MHz
// 3. 配置总线分频系数
RCC_HCLKConfig(RCC_SYSCLK_Div1); // AHB时钟 = 72MHz
RCC_PCLK1Config(RCC_HCLK_Div2); // APB1时钟 = 36MHz
RCC_PCLK2Config(RCC_HCLK_Div1); // APB2时钟 = 72MHz
// 4. 使能PLL并等待就绪
RCC_PLLCmd(ENABLE);
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
// 5. 切换系统时钟源到PLL
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while (RCC_GetSYSCLKSource() != 0x08); // 检查切换成功
}
3. 关键寄存器验证(调试用)
// 读取时钟频率状态
uint32_t sysclk = RCC_GetSYSCLKSource();
uint32_t hclk = RCC_GetHCLKClockFreq();
三、常见问题排查
-
晶振不振
- 检查电容是否匹配(尝试更换 10pF~22pF)。
- 测量晶振引脚电压(正常:OSC_IN ≈ 0.5V, OSC_OUT ≈ VDD)。
- 确认
RCC_CR寄存器中的HSERDY位是否置位。
-
程序卡在
while(HSERDY)- 硬件问题:晶振损坏、电容错误、PCB虚焊。
- 软件问题:未正确禁用
PC14/PC15的调试功能(需启用AFIO_MAPR中的SWJ_CFG)。
-
主频偏差大
- 检查
HSE_VALUE宏定义是否正确。 - 用示波器测量
PA8(MCO)输出时钟验证频率。
- 检查
四、注意事项
- 降低功耗模式:在低功耗模式下(如Stop/Sleep),需重新初始化时钟。
- 备用振荡器:若使用HSE失败,可配置LSI/LSE作为备用时钟源(需修改代码)。
- FSMC配置:当使用外部存储器时,注意HCLK分频后是否超出FSMC最大频率(STM32F1最大72MHz)。
通过以上步骤,您的STM32F1应能正确使用16MHz晶振运行。如需更高主频(如超频至128MHz),需谨慎调整PLL倍频并确保电源稳定性。
gd32f303cct6使用16M有源晶振输入到OSCIN引脚后在启动时候HXTALSTB始终无法值1,为什么?
gd32f303cct6使用16M有源晶振输入到OSCIN引脚后在启动时
2024-11-15 06:00:23
AVR单片机外接16M晶振和STM32F103外接8MHZ运行速度哪一个更快?
,就是在执行串口接收中断程序时,检测不到按键,发生丢失按键动作现象。 按理说STM32F103的系统时钟是72M,而AVR单片机晶
2024-04-23 07:43:51
【STM32学习笔记】技巧1 -更换外部8M晶振的频率如何修改程序?
绪论STM32系列的单片机,从L0到L4,从F1到F4系列,标准库和HAL库默认使用的外部
资料下载
张丽
2021-12-01 18:51:09
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机