串口通讯的原理和基础知识

本文介绍了串行通信的基础知识,包括串行通信与并行通信的区别,串行通信的同步与异步,单工、半双工、全双工的概念。重点讲解了UART异步串口通信,数据格式和物理层接口标准,如RS232。此外,还阐述了串口读写操作,包括打开、配置、读写和关闭串口的步骤及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

串口通信原理

串行通信基础知识

处理器与外部设备通信的两种方式:串行和并行

并行通信

是指数据的各个位用多条数据线同时进行传输
在这里插入图片描述

优点:传输速度快
缺点:占用引脚资源多

串行通信

串行通信是将数据分成一位一位的形式在一条传输线上逐个传输
在这里插入图片描述

优点:通信线路简单,占用引脚资源少
缺点:传输速度快

串行通信的通信方式 :同步通信和异步通信

同步通信:带时钟同步信号的数据传输,发送发和接收方在同一时钟的控制下,同步传输数据
实现收发同步(有时钟信号)
异步通信:不带时钟同步信号的数据传输,发送方和接收方使用各自的时钟控制数据的发送和接收过程

串行通信的传输方向:单工,半双工,全双工

单工:数据只能沿一个方向传输
半双工:数据传输可以沿两个方向,但是需要分时进行
全双工:数据可以同时进行双向传输 两条数据线

常见的串行通信接口

通信标准:UART 引脚说明:(TXD:发送端 RXD:接收端 GND:公共地)
通信方式:异步通信 通信方向:全双工

通信标准:单总线 引脚说明:(DQ:发送端/接收端)
通信方式:异步通信 通信方向:半双工

通信标准:SPI 引脚说明:(SCK:同步时钟 MISO:主机输入,从机输出 MOSI:主机输出,从机输入) 通信方式:同步通信 通信方向:全双工

通信标准:I2C 引脚说明:(SCK:同步时钟 SDA:数据输入/输出端 )
通信方式:同步通信 通信方向:半双工

异步串口通信UART基础知识

是一种采用异步通信方式的通用异步收发传输器

功能:它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据

协议层:通信协议(包括数据格式,传输速率等)
物理层:接口类型、电平标准

协议层:数据格式

UART串口通信需要两根信号线来实现,一根用于串口发送,另外一根负责串口接收
串口通信的速率用波特率表示,表示每秒传输二进制数据的位数,单位是bps(位/秒)
常用的波特率:9600、19200、38400、57600以及115200

物理层:接口标准

针对异步串行通信的接口标准有RS232、RS422、RS485

RS232 负逻辑电平,3线全双工(发,收,地),点对点双向通信(两个设备) 传输速度相对较低,传输距离短
RS422 差分传输(),4线双全工,点对多,主从通信 抗干扰能力强,传输速度高,传输距离远
RS485 差分传输,2线半双工,多点双向通信(一个主设备多个从设备) 能够实现多个发送,接收设备双向通信

RS232接口

DB9接口
在这里插入图片描述
接口编号最常用的就是2和3:接收数据和发送数据
接口5位地线

发送数据:起始位永远都是低电平,停止位永远都是高电平
第一位表示:1 第二位:4, 第三位:8 第四位 16 第五位:32
第六位:64 ……
发送的数据位数依照波特率:例:9600波特率 一秒发送9600位的数据

串口读写与操作

打开串口

HANDLE CreateFile( 	LPCTSTR lpFileName,
					DWORD dwDesiredAccess,
					DWORD dwShareMode, 
					LPSECURITY_ATTRIBUTES lpSecurityAttributes, 
					DWORD dwCreationDistribution, 
					DWORD dwFlagsAndAttributes, 
					HANDLE hTemplateFile);
lpFileName  表示将要打开的串口逻辑名
dwDesiredAccess  指定串口访问的类型,可以是读取、写入或二者并列
dwShareMode 指定共享属性,由于串口不能共享,该参数必须设置为0
lpSecurityAttributes  引用安全性属性结构,缺省值为NULL
dwCreationDistribution  创建标志,对串口操作该参数必须设置为OPEN_EXISTING
hTemplateFile 对串口而言该参数必须设置为NULL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值