串行通信的通讯方式
同步通信
带时钟同步信号传输
SPI,IIC通信接口
异步通信
不带时钟同步信号传输
UART,单总线
通信标准 | 引脚说明 | 通信方式 | 通信方向 |
---|---|---|---|
UART (通用异步收发器) | TXD:发送端 RXD:接受端 GND:公共地 | 异步通信 | 全双工 |
单总线 (1—wire) | DQ:发送/接受端 | 异步通信 | 半双工 |
SPI | SCK:同步时钟 MISO:主机输入,从机输出 MOSI:主机输出,从机输入 | 同步通信 | 全双工 |
I2C | SCL:同步时钟 SDA:数据输入/输出端 | 同步通信 | 半双工 |
UART
常用的串口相关寄存器
USART_SR状态寄存器
USART_DR数据寄存器
USART_BRR波特率寄存器
USART_CR1控制寄存器1
USART_CR2控制寄存器2
USART_CR3控制寄存器3
波特率计算方法
串口配置一般步骤
库函数相关
初始化相关
USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)
参数:USARTx(如USART1)
USART_InitStruct:
USART_BaudRate设置波特率
USART_WordLength设置子长:
USART_WordLength_8b
USART_WordLength_9b
USART_StopBits设置停止位
USART_StopBits_1
USART_StopBits_0_5
USART_StopBits_2
USART_StopBits_1_5
USART_Parity设置奇偶校验
USART_Parity_No
USART_Parity_Even
USART_Parity_Odd
USART_Mode设置发送/接收使能
USART_Mode_Rx
USART_Mode_Tx
USART_HardwareFlowControl设置硬件流控制:
USART_HardwareFlowControl_None
USART_HardwareFlowControl_RTS
USART_HardwareFlowControl_CTS
USART_HardwareFlowControl_RTS_CTS