HSE(High Speed External Clock signal)

本文详细介绍了嵌入式系统中四种重要的时钟源:High Speed External (HSE)、High Speed Internal (HSI)、Low Speed External (LSE) 和 Low Speed Internal (LSI)。这些时钟信号对于系统的性能和稳定性至关重要,理解它们的工作原理和应用场景是嵌入式开发的基础知识。
摘要由CSDN通过智能技术生成

HSE(High Speed External Clock signal)
HSI(High Speed Internal Clock signal)、
LSE(Low Speed External Clock signal)、
LSI(Low peed Internal Clock signal)。

编写HAL库代码将High Speed External Oscillator (HSE)配置为Crystal/Ceramic Resonator时,通常涉及以下几个步骤: 1. **初始化时钟管理器**: 导入必要的头文件,并初始化RCC时钟管理器。例如: ```c RCC_OscInitTypeDef RCC_OscInitStruct; ``` 2. **配置HSE**: 设置`RCC_OscInitStruct.OscillatorType`为`RCC_OSCILLATORTYPE_HSE`,如果使用的是水晶晶体,则可能还需要指定`RCC_OscInitStruct.HSEState`为`RCC_HSE_ON`。 ```c RCC_OscInitStruct.HSEState = RCC_HSE_ON; // 如果是水晶晶体 ``` 3. **启用HSEReady检测**: 当HSE达到稳定状态后,系统会自动跳转到HSE模式。如果需要手动控制,可以设置`RCC_OscInitStruct.PLL.PLLSource`为`RCC_PLLSOURCE_HSE`。 ```c RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; ``` 4. **启用HSE并将HSE用于系统时钟**: 调用`RCC_OscInitStruct.PLL.PLLM`和`RCC_OscInitStruct.PLL.PLLN`来设置预分频和倍频因子,确定最终系统时钟频率。然后调用`RCC_OscConfig(&RCC_OscInitStruct)`开始配置过程。 ```c RCC_OscInitStruct.PLL.PLLN = YOUR_PLL_N_VALUE; // 根据晶振频率和系统要求计算 HAL_RCC_OscConfig(&RCC_OscInitStruct); ``` 5. **激活新的时钟源**: 启动新的时钟源(包括系统时钟、APB时钟等): ```c RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 系统时钟来源于PLL HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY); // 设置Flash访问延迟 ``` 6. **检查配置结果**: 使用`HAL_RCC_GetSysClockFreq()`获取实际的系统时钟频率,确认配置是否成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学无止境2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值