LSE指的是低速外部晶体振荡器(Low-Speed External oscillator),它是一种可以提供外部时钟信号的时钟源。
LSE主要用于STM32的RTC模块,可以提供更为稳定的时钟信号。
STM32F103系列的芯片有两个时钟源:HSI和HSE。而LSE并不是默认的时钟源,需要手动开启才能使用。
在工程中使用RTC时,需要在RCC_CR中设置LSEON位,使LSE开始工作。当然,使用LSE之前还需要确认LSE的电路和晶振是否正确。
即在使用HW_RTC_Init()或MX_RTC_Init()函数初始化RTC时按照下面流程配置RTC时钟:
1、开启PWR时钟。
2、开启BKP时钟。
3、关闭RTC时钟。
4、开启LSE时钟。
5、设置RTC时钟预分频器及初始化RTC配置。
6、开启RTC时钟及校验RTC与BKP
在使用LSE时,需要注意以下几点:
1、LSE需要外部振荡电路和晶振。
2、LSE的电路要保证正确,在选择晶振时需要匹配合适的容值。
3、调用HW_RTC_Init()或MX_RTC_Init()函数之前,需要先开启PWR时钟、BKP时钟和LSE时钟。
4、调用HW_RTC_Init()或MX_RTC_Init()函数进行RTC初始化时,需要设置RTC时钟预分频器。
5、在程序中需要检查LSE是否启动成功,避免出现因LSE没有启动导致的RTC无法正常工作的情况。
在STM32F103芯片中使用LSE时可以提供更为稳定的时钟信号,在使用前需要注意电路和晶振的选择和配置,并且在使用RTC时需要手动开启LSE,同时要对RTC进行适当的初始化。在初始化时需要注意时钟预分频器的配置,并且还需要检查LSE是否成功启动以及RTC是否正常工作,避免出现不必要的问题。