一、STM32四个时钟源的理解
1.1四个时钟源
单片机共有四个时钟源,分别是LSE、LSI、HSE、HSI,
其中HSI是高速内部时钟、HSE是高速外部时钟、LSI是低速内部时钟、LSE是低速外部时钟,具体我们使用哪一个时钟源,使用多大的频率,可以参考下图:
1.2检验时钟频率
判断设置的时钟频率是否正常有两种方法,第一种是:软件方法,使用HAL库提供的函数HAL_RCC_GetSysClockFreq(),来获取时钟频率。具体效果如下图所示:
第二种是:硬件方法,单片机的PA8可以复用为MCO引脚,对外提供时钟输出。用示波器监控该引脚的输出来判断我们的系统时钟是否设置正确。先配置PA8为RCC_MCO功能,如下图所示:
然后在时钟配置界面,选择输出哪一个时钟:
1.3对FLASH_LATENCY_x的理解
FLASH_LATENCY_x共有FLASH_LATENCY_0、FLASH_LATENCY_1、FLASH_LATENCY_2三种,他们具体选择哪一个的依据是时钟频率的选取,分别是对应不同范围的时钟频率,如下图所示:
二、GPIO的八种模式
GPIO主要有输入与输出两大类,具体如下图所示:
一般来说,输入的话通常选择上拉输入模式,输出选择通用推挽输出模式,单片机的一些引脚还有复用模式,用来对单片机的一些特殊功能的使用,比如串口通讯、I2C等功能。