文章目录[隐藏]
目录
通信方式
1. 并行通信
- 数据的各个位同时传输
2. 串行通信
- 数据按位顺序传输
数据传送方式:单工,半双工(不支持两个方向同时传输),全双工
串行通信
1. 同步通信
带有时钟信号的就是同步通信
- SPI
- I2C
2. 异步通信
必须双方约定波特率
- UART
- 单总线
常见的串行通信接口
通信标准 | 引脚说明 | 通信方式 | 通信方向 |
UART | TXD:发送,RXD:接收,GND:公共地 | 异步 | 全双工 |
单总线 | DQ:发送/接收 | 异步 | 半双工 |
SPI | SCK:时钟,MISO:主机输入从机输出,MOSI:主机输出从机输入 | 同步 | 全双工 |
I2C | SCL:同步时钟,SDA:数据输入或输出 | 同步 | 半双工 |
UART的特点
- 全双工异步通信
- 分数波特率发生器系统,提供精确波特率
- 可编程数据字长度,8位或9位
- 可配置的停止位
- 可配置的使用DMA多缓冲器通信
- 单独的发送器和接收器使能位
- 检测标志:1,接收缓冲器,2,发送缓冲器空,3,传输结束标志
- 多个带标志位的中断源,触发中断
- 校验控制,4个错误标志位
UART数据帧
- 起始位
- 数据位
- 奇偶校验位
- 停止位
- 波特率设置
UART框图
USART_SR状态寄存器
USART_DR数据寄存器
USART_CR1控制寄存器
USART_BRR波特率寄存器
波特率计算
串口配置与操作相关的配置函数
stm32f10x_usart.h
stm32f10x_usart.c
USART_Init
先看一下入口参数 ,一个是串口编号,一个是结构体指针
看一下结构体指针的结构体类型
串口配置的步骤
1. 串口时钟使能,GPIO时钟使能
2. 串口复位
3. GPIO端口模式设置
4. 串口参数初始化
5. 开启中断并初始化NVIC
6. 使能串口
7. 编写中断处理函数
8. 串口发送接收数据
9. 串口传输状态
版权声明:本文为CSDN博主「CodeForCoffee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_24118527/article/details/122724093
目录
通信方式
1. 并行通信
- 数据的各个位同时传输
2. 串行通信
- 数据按位顺序传输
数据传送方式:单工,半双工(不支持两个方向同时传输),全双工
串行通信
1. 同步通信
带有时钟信号的就是同步通信
- SPI
- I2C
2. 异步通信
必须双方约定波特率
- UART
- 单总线
常见的串行通信接口
通信标准 | 引脚说明 | 通信方式 | 通信方向 |
UART | TXD:发送,RXD:接收,GND:公共地 | 异步 | 全双工 |
单总线 | DQ:发送/接收 | 异步 | 半双工 |
SPI | SCK:时钟,MISO:主机输入从机输出,MOSI:主机输出从机输入 | 同步 | 全双工 |
I2C | SCL:同步时钟,SDA:数据输入或输出 | 同步 | 半双工 |
UART的特点
- 全双工异步通信
- 分数波特率发生器系统,提供精确波特率
- 可编程数据字长度,8位或9位
- 可配置的停止位
- 可配置的使用DMA多缓冲器通信
- 单独的发送器和接收器使能位
- 检测标志:1,接收缓冲器,2,发送缓冲器空,3,传输结束标志
- 多个带标志位的中断源,触发中断
- 校验控制,4个错误标志位
UART数据帧
- 起始位
- 数据位
- 奇偶校验位
- 停止位
- 波特率设置
UART框图
USART_SR状态寄存器
USART_DR数据寄存器
USART_CR1控制寄存器
USART_BRR波特率寄存器
波特率计算
串口配置与操作相关的配置函数
stm32f10x_usart.h
stm32f10x_usart.c
USART_Init
先看一下入口参数 ,一个是串口编号,一个是结构体指针
看一下结构体指针的结构体类型
串口配置的步骤
1. 串口时钟使能,GPIO时钟使能
2. 串口复位
3. GPIO端口模式设置
4. 串口参数初始化
5. 开启中断并初始化NVIC
6. 使能串口
7. 编写中断处理函数
8. 串口发送接收数据
9. 串口传输状态
版权声明:本文为CSDN博主「CodeForCoffee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_24118527/article/details/122724093
暂无评论