一、配置始终
STM32CubeMX的时钟树配置,理解四个时钟源,理解时钟的流向,
获取系统始终有两个方法:
第一个,软件方法,
使用HAL库提供的函数HAL_RCC_GetSysClockFreq(),获取系统时钟频率,再通过串口打印或者debug调试显示结果。
第二个,硬件方法:
PA8可以复用为MCO引脚,对外提供时钟输出。用示波器监控该引脚的输出来判断我们的系统时钟是否设置正确。
##配置系统时钟时要注意 配置好flash延迟
FLASH_LATENCY_2的意思是:Flash存储器有两个64位缓存器组成的预取缓冲器,使得CPU可以工作在更高频率,同时需要根据不同的系统时钟(SYSCLK)频率设置对应的等待周期(LATENCY)。
二、配置GPIO
GPIO是重点理解八种工作模式,理解什么时候用什么模式。输出就推挽输出,输入就上拉输入,
或者设置复用功能。复用功能可以这样理解,单片机机主要作用就是控制和通信。控制 就是IO输入和输出,通信 就是支持一些协议,比如I2C、串口。
我们从一个外设的角度来看引脚,比如STM32 USART1控制器这个外设,他使用的收发引脚是PA9和PA10,为了用户更好的分配引脚,比如PA9用作了其它用途。
STM32就加入外设引脚重映射的功能,即,USART1除了能通过PA9和PA10收发以外还能通过PB6、PB7收发。如下图: