1、处理器与外部设备通信的两种方式:
1.并行通信 -传输原理:数据各个位同时传输。 -优点:速度快。 -缺点:占用引脚资源多。
2.串行通信 -传输原理:数据按位顺序传输。 -优点:占用引脚资源少。 -缺点:速度相对较慢。
2、串行通信按照数据传送方向,分为:
1.单工:数据传输只支持数据在一个方向上传输 。
2.半双工:允许数据在两个方向上传输,但是在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;
3.全双工:允许数据同时在两个方向上传输,因此全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。
3、串行通信的通信方式 :
1.同步通信:带时钟同步信号传输,根据时钟信号传输。 -SPI,IIC通信接口
2.异步通信:不带时钟同步信号,需规定波特率来通信。 -UART(通用异步收发器),单总线
通信标准 |
引脚说明 |
通信方式 |
通信方向 |
UART (通用异步收发器) |
TXD:发送端 RXD:接受端 GND:公共地 |
异步通信 |
全双工 |
单总线 (1-wire) |
DQ:发送/接受端 |
异步通信 |
半双工 |
SPI |
SCK:同步时钟 MISO:主机输入,从机输出 MOSI:主机输出,从机输入 |
同步通信 |
全双工 |
I2C |
SCL:同步时钟 SDA:数据输入/输出端 |
同步通信 |
半双工 |
4、STM32的串口通信接口 :
1.UART:通用异步收发器
UART异步通信方式特点:
2.USART:通用同步异步收发器
5、UART异步通信方式引脚连接方法:
-RXD:数据输入引脚。数据接受。 -TXD:数据发送引脚。数据发送。
串口号 |
RXD |
TXD |
1 |
PA10 |
PA9 |
2 |
PA3 |
PA2 |
3 |
PB11 |
PB10 |
4 |
PC11 |
PC10 |
5 |
PD2 |
PC12 |
6、串口通信过程:
7、STM32串口异步通信需要定义的参数:
起始位 数据位(8位或者9位) 奇偶校验位(第9位) 停止位(1,15,2位) 波特率设置
8、USATR框图:
9、常用的串口相关寄存器:
1.USART_SR状态寄存器
2.USART_DR数据寄存器
3.USART_BRR波特率寄存器
波特率计算方法:
10、串口配置的一般步骤:
串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd();
串口复位:USART_DeInit(); 这一步不是必须的
GPIO端口模式设置:GPIO_Init(); 模式设置为GPIO_Mode_AF_PP
串口参数初始化:USART_Init();
开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤) NVIC_Init(); USART_ITConfig();
使能串口:USART_Cmd();
编写中断处理函数:USARTx_IRQHandler();
串口数据收发: void USART_SendData();//发送数据到串口,DR uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据
串口传输状态获取: FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG); void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT);