这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 换逻辑分析仪_STM32F103认识串口F103相关的知识认识

共5条 1/1 1 跳转至

换逻辑分析仪_STM32F103认识串口F103相关的知识认识

工程师
2024-06-23 23:42:30   被打赏 18 分(兑奖)     打赏

STM32F103串口通信相关知识整理如下:

以下是理论知识,知道串口的相关知识。

一、基础概念 串行通信定义:串行通信是指数据一位一位地顺序传送,通过一根传输线(或一对线)完成数据的发送与接收。特点:数据位的传送按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度较慢。

优点:通信线路简单,适用于远距离通信。

image.png

image.png


 串口分类同步串行接口(SSI):通信双方共用一个时钟,常用于工业用通信接口。异步串行接口(UART):双方通过相同的波特率实现同步,数据以相同的帧格式进行传送。


关键参数

1. 波特率定义:波特率是系统在单位时间内传输的码元(电平)的个数。简单理解为每秒传输的bit的个数。举例:每秒传输9600个bit,则波特率为9600。2. 数据格式起始位:表示传输数据的开始,是帧数据的第一位。数据位:实际想要传输的数据,位于起始位之后和校验位、停止位之前。校验位:用于校验数据传送的正确性,可选奇校验或偶校验。停止位:表示一帧数据的结束。


通信电平

TTL电平:适合近距离通信,一般只有几厘米。RS422、RS232、RS485:可用于远距离通信,但需要通过电平转化芯片与芯片连接。RS485:差分通信,支持多机通信,抗干扰性强,传输速度可以达到10Mb/s以上,传输距离可以达到3000米左右。


通信过程

收发双方需约定好波特率、数据格式(数据位个数、停止位个数、是否使用校验位、奇校验还是偶校验)。发送方首先输出逻辑0(起始位信号),并保持一段时间;接收方检测到逻辑0后,开始准备接收数据。发送方根据数据的bit是0还是1,设置引脚电平,并保持一段时间;接收方读取引脚电平,得到数据。

数据发送完毕后,发送方输出逻辑1(停止位信号),并保持一段时间,表示数据传输结束。


应用场景调试、打印信息。连接外部模块,传输数据。

连接工控设备。


实现与配置串口通信的实现通常涉及串口的初始化、数据发送与接收、中断处理等步骤。配置时需设置串口的基本参数,如波特率、数据位、停止位、校验位等。


单工:数据传输只支持数据在一个方向上传输。半双工:允许数据在两个方向上传输,但在某一时刻,只允许数据在一个方向上传输,实际上是一种切换方向的单工通信;全双工:允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。

image.png


image.png        image.png


下面看F103的:

STM32F103通用同步1异步收发器(USART):USART1接口通信速率可达4.5兆位/秒,其他接口的通信速率可达2.25兆位/秒。USART接口具有硬件的CTS和RTS信号管理、支持IrDA SIRENDEC传输编解码、兼容ISO7816的智能卡并提供LIN主/从功能。

所有USART接口都可以使用DMA操作。

具体的寄存器:

SR    USART 状态寄存器

DR    USART 数据寄存器

BRR    USART 波特率寄存器

CR1    USART控制寄存器1

CR2    USART控制寄存器2

CR3    USART控制寄存器3

GTPR    USART 保护时间和预分频寄存器

库函数:

USART DeInit        将外设 USARTx 寄存器重设为缺省值

USART Init        根据 USART InitStruct 中指定的参数初始化外设 USARTx 寄存器

USART StructInit        把 USART InitStruct 中的每一个参数按缺省值填入

USART Cmd        使能或者失能 USART 外设

USART ITConfig        使能或者失能指定的 USART 中断

USART DMACmd        使能或者失能指定 USART 的 DMA 请求

USART SetAddress        设置 USART 节点的地址

USART WakeUpConfig        选择 USART 的唤醒方式

USART ReceiverWakeUpCmd         检查 USART 是否处于静默模式

USART LINBreakDetectLengthConfig        设置 USART LIN 中断检测长度

USART LINCmd        使能或者失能 USARTx 的 LIN 模式

USART SendData        通过外设 USARIX 发送单个数据

USART ReceiveData        返回 USARTx 最近接收到的数据

USART SendBreak        发送中断字

USART SetGuardTime        设置指定的 USART 保护时间

USART SetPrescaler        设置 USART 时钟预分频

USART SmartCardCmd        使能或者失能指定 USART 的智能卡模式

USART SmartCardNackCmd        使能或者失能 NACK 传输

USART HalfDuplexCmd        使能或者失能 USART 半双工模式

USART IrDAConfig        设置 USART IDA 模式

USART IrDACmd            使能或者失能 USART IrDA 模式

USART GetFlagStatus        检查指定的 USART 标志位设置与否

USART ClearFlag        清除 USARTx 的待处理标志位

USART GetITStatus            检查指定的 USART 中断发生与否

USART ClearITPendingBit        清除 USARTx 的中断待处理位


除了串口配置,F103的GPIO也要配:

image.png

image.png

串口配置:

image.png





关键词: 逻辑分析仪     STM32F103     F103    

专家
2024-06-24 00:55:28     打赏
2楼

感谢楼主分享


专家
2024-06-24 07:42:16     打赏
3楼

谢谢分享


专家
2024-06-24 07:56:44     打赏
4楼

谢谢分享


专家
2024-06-24 09:49:42     打赏
5楼

谢谢分享基础知识。


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]