STM32的串口

目录

通信方式

1. 并行通信

2. 串行通信

串行通信

1. 同步通信

2. 异步通信

常见的串行通信接口

UART的特点

UART数据帧

UART框图

USART_SR状态寄存器

​USART_DR数据寄存器

USART_CR1控制寄存器

USART_BRR波特率寄存器

波特率计算

串口配置与操作相关的配置函数

USART_Init函数

串口配置的步骤

1. 串口时钟使能,GPIO时钟使能

2. 串口复位

3. GPIO端口模式设置

​4. 串口参数初始化

​5. 开启中断并初始化NVIC

6. 使能串口

7. 编写中断处理函数

8. 串口发送接收数据

9. 串口传输状态


通信方式

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

生成海报
点赞 0

CodeForCoffee

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

V831基础-GPIO

想着外接传感器高点事情,GPIO不是必须的嘛doge 测试镜像:v831-m2dock-maixpy3-0.4.0-20220114.img 测试所用maixpy3版本:0.4.0 GPIO GPIO&

LCD Glass段码屏的驱动

01 什么是段码屏 段码液晶屏(段码屏)是非点阵类的液晶屏,主要是用来替代LED数码管的,比如温度计、计算器、钟表等等,显示的内容基本都是数字,也有些是符号。