前面学习了使用IO口进行输入输出,现在进行串口的操作学习
ALIENTEK MiniSTM32开发板所使用的STM32F103RCT6最多提供5路串口。
接下来我们的目的是达到最基本的通信功能,实现用串口1不断打印信息到电脑上,接收串口发送过来的数据把送过来的数据送回电脑。mini32上有一个USB还有一个RS232串口,这里讲USB
复用功能的IO首先:使能GPIO时钟。然后:使能复用功能时钟,同时:把GPIO模式设置为复用功能对应的模式。剩下:设置参数初始化设置波特率,停止位等。最后:使能串口,开启串口终端初始化NVIC设置中断优先级别,编写中断服务函数。
下面一个个看它们需要什么函数:
1、串口时钟使能 串口挂载在APB2下面的外设
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1);
2、串口复位 配置外设刚开始肯定会复位该外设,在USART_DeInit()中完成
void USART_DeInit(USART_TypeDef* USARTx);//串
USART_DeInit(USART1); //复位串口 复位串口 1
3、串口初始化
void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);
第一个入口是串口标号,第二个是串口结构体指针
USART_InitStructure.USART_BaudRate = bound; //波特率 波特率 ; USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为 8位数据格式 位
USART_InitStructure