如何使用STM32CubeMX配置HSE(高速外部振荡器)和LSE(低速外部振荡器)
如何使用STM32CubeMX配置HSE(高速外部振荡器)或LSE(低速外部振荡器)?STM32 MCU支持几种可能的时钟源、几种内部振荡器和两种外部振荡器,这需要外部。。。
如何使用STM32CubeMX配置HSE(高速外部振荡器)或LSE(低速外部振荡器)?
STM32 MCU支持几种可能的时钟源、几种内部振荡器和两种需要外部组件的外部振荡器。默认情况下,STM32微控制器的内部振荡器适用于各种应用用例。然而,在需要非常精确的时钟的情况下,建议结合使用外部振荡器。STM32 MCU的两个外部振荡器支持:
- 高速外部振荡器(HSE)
- 外部振荡器具有产生非常精确的主时钟的优点。对于精确的USB OTG高速外围设备、I2S和SAI,使用25 MHz振荡器是一个不错的选择。
- 低速外部振荡器(LSE)
- 外部振荡器具有提供实时时钟(RTC)、时钟/日历和其他定时功能所需的低功率高精度时钟源的优点。
HSE和LSE可以使用OSC_IN和OSC32_IN引脚(旁路模式)或晶体/陶瓷谐振器从外部源提供。
要深入了解振荡器设计和HSE/LSE硬件配置要求,请查看安2867(STM8AF/AL/S、STM32 MCU和MPU的振荡器设计指南)和您的STM32各自的硬件开发应用说明。
STM32CubeMX是一个图形工具,允许您快速配置任何STM32微控制器和微处理器,并为Arm Cortex-M内核生成相应的初始化C代码,或为Arm科特ex-a内核生成部分Linux设备树。
通过使用STM32CubeMX,您只需点击一个按钮即可轻松导航和修改项目所需的HSE/LSE软件配置。
在本文中,我们将逐步介绍以下内容:
在下面的HSE/LSE时钟配置示例中。我们看到LSE的输入频率以蓝色突出显示,而HSE的输入频率则变灰。以蓝色突出显示的图标是可用的,并且在大多数情况下是可修改的,而灰色图标是不可用的,不能修改。因此,我们可以得出结论,在本例中,LSE已配置,而HSE未配置。
要深入了解振荡器设计和HSE/LSE硬件配置要求,请查看安2867(STM8AF/AL/S、STM32 MCU和MPU的振荡器设计指南)和您的STM32各自的硬件开发应用说明。
STM32CubeMX是一个图形工具,允许您快速配置任何STM32微控制器和微处理器,并为Arm Cortex-M内核生成相应的初始化C代码,或为Arm科特ex-a内核生成部分Linux设备树。
通过使用STM32CubeMX,您只需点击一个按钮即可轻松导航和修改项目所需的HSE/LSE软件配置。
在本文中,我们将逐步介绍以下内容:
- 如何检查您当前项目中是否配置了HSE/LSE时钟
- 如何在STM32CubeMX中配置HSE/LSE时钟源
- 如何禁用STM32CubeMX中的HSE/LSE时钟源
1.检查STM32CubeMX中当前的HSE/LSE时钟配置
检查当前项目中是否配置了HSE/LSE的最快、最简单的方法是检查项目.ioc文件中的时钟配置选项卡。在下面的HSE/LSE时钟配置示例中。我们看到LSE的输入频率以蓝色突出显示,而HSE的输入频率则变灰。以蓝色突出显示的图标是可用的,并且在大多数情况下是可修改的,而灰色图标是不可用的,不能修改。因此,我们可以得出结论,在本例中,LSE已配置,而HSE未配置。

2.启用STM32CubeMX中的HSE/LSE时钟配置
步骤1。启动项目的.ioc文件,然后从引脚输出和配置选项卡开始。
步骤2。在左侧导航栏上,展开系统核心选项卡,然后选择RCC(重置和时钟控制器)。RCC外围设备用于控制内部外围设备,包括复位信号和时钟分布。在RCC类别中,您可以选择启用/禁用HSE、LSE、MCO(主时钟输出)、音频时钟输入(I2S_CKIN)和CRS同步。此外,配置MCU的功率参数、RCC参数、MCU的系统参数和PLL(锁相环)范围参数等参数。
步骤3。在中间面板(RCC模式和配置)中,在高速时钟(HSE)和低速时钟(LSE)旁边的模式下,您可以看到下拉菜单选项。默认情况下,HSE和LSE都处于禁用状态。
步骤4。 用户可以选择3个选项来配置HSE/LSE:
从可用的HSE/LSE时钟源中选择后,您还将看到位于STM32CubeMX GUI右侧面板上的微控制器引脚视图上配置的时钟引脚。
步骤5。要进行其他修改,如调整HSE输入频率,请选择时钟配置选项卡。
步骤6。在时钟配置视图的左侧,您可以看到HSE/LSE的输入频率现在以蓝色突出显示,具体取决于步骤4中的HSE/LSE配置。以蓝色突出显示的框在大多数情况下可用且可修改,而灰色框不可用且用户无法修改。在以下示例中,HSE和LSE都可用。
步骤2。 在左侧导航栏上,展开系统核心选项卡,然后选择RCC。
步骤3。 在中间面板(RCC模式和配置)中,在高速时钟(HSE)和低速时钟(LSE)旁边的模式下,您可以看到HSE/LSE的当前配置。
步骤4。 要从时钟配置中删除HSE/LSE,请使用下拉菜单将HSE/LSE的当前时钟选项更改为禁用。
步骤5。要验证HSE/LSE时钟配置是否确实已删除,请访问时钟配置选项卡。如果您之前已将PLL源mux/RTC时钟mux修改为分别由HSE或LSE提供,则STM32CubeMX足够智能,可以运行其自动时钟解析器。这个自动时钟解析器是一个帮助查看和帮助解决任何明显时钟问题的功能。
在本例中,我们之前将HSE配置为馈入PLL源mux,因此出现了此时钟配置解析器弹出窗口。我们通过单击“是”并运行自动时钟问题解决程序继续前进。
在自动时钟问题求解器运行后,我们将看到HSE不再被配置为HSE,其输入频率块变灰,不再是PLL源mux的可选选项。

步骤2。在左侧导航栏上,展开系统核心选项卡,然后选择RCC(重置和时钟控制器)。RCC外围设备用于控制内部外围设备,包括复位信号和时钟分布。在RCC类别中,您可以选择启用/禁用HSE、LSE、MCO(主时钟输出)、音频时钟输入(I2S_CKIN)和CRS同步。此外,配置MCU的功率参数、RCC参数、MCU的系统参数和PLL(锁相环)范围参数等参数。

步骤3。在中间面板(RCC模式和配置)中,在高速时钟(HSE)和低速时钟(LSE)旁边的模式下,您可以看到下拉菜单选项。默认情况下,HSE和LSE都处于禁用状态。

步骤4。 用户可以选择3个选项来配置HSE/LSE:
- 使残废 –未选择HSE/LSE外部时钟源
- BYPASS时钟源–可以使用OSC_IN和OSC32_IN引脚从外部电源提供HSE/LSE时钟。有关旁路要求的更多信息,请参阅STM32的参考手册,即HSE/LSE振荡器部分。
- 晶体/陶瓷谐振器–HSE/LSE时钟可以由外部晶体/陶瓷谐振器提供

从可用的HSE/LSE时钟源中选择后,您还将看到位于STM32CubeMX GUI右侧面板上的微控制器引脚视图上配置的时钟引脚。

步骤5。要进行其他修改,如调整HSE输入频率,请选择时钟配置选项卡。

步骤6。在时钟配置视图的左侧,您可以看到HSE/LSE的输入频率现在以蓝色突出显示,具体取决于步骤4中的HSE/LSE配置。以蓝色突出显示的框在大多数情况下可用且可修改,而灰色框不可用且用户无法修改。在以下示例中,HSE和LSE都可用。

3.禁用STM32CubeMX中的HSE/LSE时钟配置
步骤1。启动项目的.ioc文件,然后从引脚输出和配置选项卡开始。
步骤2。 在左侧导航栏上,展开系统核心选项卡,然后选择RCC。

步骤3。 在中间面板(RCC模式和配置)中,在高速时钟(HSE)和低速时钟(LSE)旁边的模式下,您可以看到HSE/LSE的当前配置。

步骤4。 要从时钟配置中删除HSE/LSE,请使用下拉菜单将HSE/LSE的当前时钟选项更改为禁用。

步骤5。要验证HSE/LSE时钟配置是否确实已删除,请访问时钟配置选项卡。如果您之前已将PLL源mux/RTC时钟mux修改为分别由HSE或LSE提供,则STM32CubeMX足够智能,可以运行其自动时钟解析器。这个自动时钟解析器是一个帮助查看和帮助解决任何明显时钟问题的功能。
在本例中,我们之前将HSE配置为馈入PLL源mux,因此出现了此时钟配置解析器弹出窗口。我们通过单击“是”并运行自动时钟问题解决程序继续前进。

在自动时钟问题求解器运行后,我们将看到HSE不再被配置为HSE,其输入频率块变灰,不再是PLL源mux的可选选项。

相关文档和链接:
- AN2867(STM8AF/AL/S、STM32 MCU和MPU振荡器设计指南)
- STM32管MX