RS-232串口通信简介
1969年,美国电子工业协会将RS-232定为串行通信接口的电器标准,该标准定义了数据终端设备DTE(Date Teriminal Equipment)与数据通信设备DCE(Data Communication Equipment)指甲按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,适合于数据传输在0~20000bits范围内的通信。有应用广泛;连接距离长(15m);实现简单,双向连接,只需要三条导线等特点。
标准的RS_232接口有25根信号线,其中有4跟数据线,11根控制线,3根定时线和7根备用线。使用25根信号线中的9根就可以实现RS_232通信。

1.DCD(Data Carrier Detection):数据载波检出,有效表示Modem已经接通了通信链路,即本地Modem收到了通信链路另一端的远程Modem送来的载波信号,终端可以准备好接收数据。(数据载波监测)
2.RxD(Received Data):接收数据,终端通过信号线从Modem接收数据。(接收数据)
3.TxD(Transmitted Data):发送数据,终端通过此信号线将数据发送给Modem。(发送数据)
4.DTR(Data Terminal Ready):数据终端就绪,当其有效时,说明数据终端可用。(数据终端准备)
5.SG(Signal Ground):信号地。
6.DSR(Date Set Ready):数据装置就绪,当状态为有效时,表明Modem(Modulator:中文调制器,是一种在发送端通过调制将数字信号转化为模拟信号,而在接收端通过调解再将模拟信号转换为数字信号的设备)处于可以使用的状态。(数据设备准备好)
7. RTS(Request To Send):请求发送,即当终端需要发送数据时,使该信号有效,同Modem请求发送,用于控制Modem是否进入发送状态。(请求发送)
8.CTS(Clear To Send)意思为允许发送,这个信号是对RTS信号的响应。当Modem已经准备好接收终端发过来的数据时,使该信号有效,通知终端开始发送数据。(清除发送)
9.RI(Ringing):振铃指示,当本地Modem收到交换台发送的振铃呼叫信号时,使该信号有效,通知终端已被呼叫。(振铃提示)
Tips:地线有两根,分别是信号地SG(Signal Ground)和保护地PE(Protection Ground),信号地是所有信号的参考电平,保护地用于连接设备外壳或者地表。
常见的RS_232串行接口连接器有两种:25针的DB-25,9针的DB-9。最常用的连接方法是三线连接法:即地(信号地),接收数据和发送数据三角相连。

电气特性:对于数据传输线RxD和TxD,逻辑“1”对应的电平是-15~3V, 逻辑“0”对应的电平是+3~+15V;对于RTS,CTS,DSR,DTR,DCD等信号线,信号有效时对应信号线上为正电平+3~+15V,反之则是-15V~-3V。
由于RS-232电气特定规定的电平不符合通常电路中所使用的TTL或CMOS电平(TTL电平:阀值电压是<0.2V为输出低电平;>3.4V为输出高电平;CMOS电平:逻辑电平电压接近于电源电压,0逻辑电平接近于0V。而且具有很宽的噪声容限)因此接入电路之前需要对其进行转换。最常用是使用没新公司的MAX232。MAX232可以将串口设备需要发送的TTL/CMOS逻辑电平转换为RS-232逻辑电平,同时也可以将要接收的RS-232逻辑电平转换为TTL/CMOS电平。MAX232典型连接方法:10和11管脚是TTL/CMOS电平输入,对应14管脚和7管脚的RS-232电平输出。12和9管脚是TTL/CMOS电平输出,对应13和8管脚的RS-232电平输入。

通信时序:在串行通信时,常用”波特率“来描述数据的传输速率。所谓“波特率”就是每秒钟传送的二进制位数,通常称为传输速率。在异步串行通信中,传送一个字符,包括12位,其传输速率为1200bit/s,每秒所能传送的字符数(字符速率)是100个。1200bit/s意义是每秒传输1200位数据,包括字符位和其他必须的位:如奇偶校验位,起始位,停止位。其中,字符数据的位数可以被设置为5~8位,奇偶校验位可以去除,也可以设置为奇检验或者偶校验;停止位可以设置为1位,1.5位或者2位(指的是停止位有1,1.5,2个单位时间三种长度)。
Tips:奇/偶校验(ECC)是数据传送时采用的一种校正数据错误的一种方式,分为奇校验和偶校验两种。
如果是采用奇校验,在传送每一个字节的时候另外附加一位作为校验位,当实际数据中“1”的个数为偶数的时候,这个校验位就是“1”,否则这个校验位就是“0”,这样就可以保证传送数据满足奇校验的要求。在接收方收到数据时,将按照奇校验的要求检测数据中“1”的个数,如果是奇数,表示传送正确,否则表示传送错误。
同理偶校验的过程和奇校验的过程一样,只是检测数据中“1”的个数为偶数。
如0100101偶校验码就是10100101
推理偶校验: 当实际数据中“1”的个数为偶数的时候,这个校验位就是“0”,否则这个校验位就是“1”,这样就可以保证传送数据满足偶校验的要求。在接收方收到数据时,将按照偶校验的要求检测数据中“1”的个数,如果是偶数个“1”,表示传送正确,否则表示传送错误。
Rs232奇偶校验校的都是“1”的个数 。
串行总线在空闲的时候保持逻辑“1”状态(即串行连接线上的电平为-3~+15V),当需要传送一个字符时,首先会发送一个逻辑为”0“的起始位,表示开始发送数据;之后,就逐个发送数据位,奇偶校验位和停止位(逻辑为”1“)。
RS-232串口通信简介的更多相关文章
- android 串口开发第二篇:利用jni实现android和串口通信
一:串口通信简介 由于串口开发涉及到jni,所以开发环境需要支持ndk开发,如果未配置ndk配置的朋友,或者对jni不熟悉的朋友,请查看上一篇文章,android 串口开发第一篇:搭建ndk开发环境以 ...
- winform SerialPort串口通信问题
一.串口通信简介串行接口(串口)是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件.一般完成这种功能的电路,我们称为串 ...
- [转]C#串口通信 SerialPort类
本文转自:https://blog.csdn.net/weixin_41415541/article/details/80921956 因为公司项目需要将USB扫码枪改为串口扫码枪,串口扫码的好处在于 ...
- 创建C#串口通信程序详解
在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports.这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信.我们将使用标准 ...
- C#串口通信程序详解
C#串口通信程序详解 摘要:创建C#串口通信程序需要注意什么呢?创建C#串口通信程序的步骤是什么?那么本文就向你详细介绍创建C#串口通信程序集体的内容. 在.NET平台下创建C#串口通信程序,.NET ...
- (三)stm32之串口通信DMA传输完成中断
一.DMA功能简介 首先唠叨一下DMA的基本概念,DMA的出现大大减轻了CPU的工作量.在硬件系统中,主要由CPU(内核).外设.内存(SRAM).总线等结构组成,数据经常要在内存和外设之间,外设和外 ...
- 51单片机GPIO口模拟串口通信
51单片机GPIO口模拟串口通信 标签: bytetimer终端存储 2011-08-03 11:06 6387人阅读 评论(2) 收藏 举报 本文章已收录于: 分类: 深入C语言(20) 作者同 ...
- 【Delphi】基于状态机的串口通信
通信协议 串行通信接口(如RS232.RS485等)作为计算机与单片机交互数据的主要接口,广泛用于各类仪器仪表.工业监测及自动控制领域中. 通信协议是需要通信的双方所达成的一种约定,它对包括数据格式. ...
- PC和FPGA间的串口通信实现
应用笔记 V1.0 2015/03/26 PC和FPGA间的串口通信实现 概述 本文将介绍PC和FPGA间的串口通信实现的基本思路和Verilog代码,对于通信而言,收发双方都要有相应的控制. ...
随机推荐
- 『Python基础练习题』day05
# 请将列表中的每个元素通过 "_" 链接起来. users = ['毛利兰', '柯南', '怪盗基德'] # 请将元组 v1 = (11, 22, 33) 中的所有元素追加到列 ...
- PowerBuilder学习笔记之打开Expressino属性页
- 动态script标签同步加载 ps:无打包编译,静态实现静态资源入口动态配置,无编译打包静态资源添加版本号
/**功能:创建动态标签加载css ,js文件,重点是js文件,利用onloading加递归实现动态标签的同步加载用法:在html文件body底部script内部声明并调用下列函数,obj中写要加载的 ...
- 偷窥篇:重要的C#语言特性——30分钟LINQ教程
本文转自:http://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html 千万别被这个页面的滚动条吓到!!! 我相信你一定能在30分钟之内看 ...
- GRIT VIEW删除事件
1.点选表格后找到事件 RowCommand 2.輸入gvGroupUser_RowCommand后双击 ------注分 ...
- 关键字:__thread & pthread_key_t
在说__thread之前,先来看看pthread_ket_t吧. 参考:http://blog.csdn.net/lmh12506/article/details/8452700 上面的博文说的比较通 ...
- Go 实现短 url 项目
首先说一下这种业务的应用场景: 把一个长 url 转换为一个短 url 网址 主要用于微博,二维码,等有字数限制的场景 主要实现的功能分析: 把长 url 地址转换为短 url 地址 通过短 url ...
- robot framework 接口测试 http协议post请求json格式
robot framework 接口测试 http协议post请求json格式 讲解一个基础版本.注意区分url地址和uri地址. rf和jmeter在添加服务器地址也就是ip地址的时候,只能url地 ...
- Machine Learning Technologies(10月20日)
Linear regression SVM(support vector machines) Advantages: ·Effective in high dimensional spaces. ·S ...
- memoryCache的使用
1 借鉴这篇文章 https://www.cnblogs.com/zuowj/p/8440902.html using System; using System.Collections.Generic ...