本文分为两部分,即”以USART1为例的串口初始化”和“调试中遇到的问题”
以USART1为例的串口初始化
本程序调用了stm32自带的固件库,工程中具体的文件见下图:
一.GPIO及USART1初始化结构体变量定义
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
二.串口时钟及GPIO端口时钟使能
USART1是挂在APB2总线上的外设。
TX,RX分别是PA9,PA10端口的复用。
要使用到端口复用,就要使能端口的时钟,并使能相应外设的时钟。这里可使用|同时使能这两个时钟。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1, ENABLE);
三.TX,RX配置
GPIO端口模式的配置包括
- 确定需要配置的引脚
- 确定端口速度
- 确定端口工作模式
- 初始化该引脚
//USART1 Tx(PA.0