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

目录

通信方式

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

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

暂无评论

发表评论

相关推荐

stm32的 按键 消抖

一、什么是抖动 a、较为官方的解释: 在机械按键的触点闭合和断开时,都会产生抖动,为了保证系统能正确识别按键的开关,就必须对按键的抖动进行处理。         按键的抖动对于人类来说是感

MOS管缓启动电路

MOS管缓启动电路 利用的都是MOS管的米勒平台效应,分为NMOS和PMOS两种,一般的NMOS用在接地端,PMOS用在电源的正端,这是由与他们的开启电压不同造成的,以NM

STM32的串口中断详解

目录 中断配置 中断服务函数 1. 中断服务函数名称查找 2. 中断服务函数  ​3. 可以选择的串口中断类型  extern u8 USART_RX_BUF[USART_REC_LEN] extern u16 USART_RX_

Verilog实现按键消抖

Verilog实现按键消抖 一、简介 我们在进行按键的时候往往会发生抖动的现象。 通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地