首先我们先要根据原理图来确认我们用的串口接到了那个引脚
我这边的串口1为例,接收端是PA10,发送端是PA9首先我们需要配置PA9和PA10.
把接受端配置成浮空输入,完全靠引脚来判断。把发送端配置成复用推挽模式,并打开GPIOA的时钟和复用时钟多的看代码吧,我把注释都写在每一个操作后了,要用只需要改一下.h文件的引脚宏定义。
.h文件
#ifndef __HAL_USART_H__
#define __HAL_USART_H__
#define USART1_RX_PORT GPIOA
#define USART1_RX_Pin GPIO_Pin_10
#define USART1_TX_PORT GPIOA
#define USART1_TX_Pin GPIO_Pin_9
void hal_USARTInit(void);
#endif
.c文件
#include "stm32f10x.h" // Device header
#include "hal_usart.h"
static void hal_USARTConfig(void);//声明
static void hal_USARTConfig(void)//配置函数不让外部改变
{
GPIO_InitTypeDef GPIO_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
USART_InitTypeDef USART_InitStructure