本文基本原理参考网站:http://www.doc88.com/p-909591704682.html
串口通讯分类:
中断与其他设备通过数据传输进行通信
并行通信: 如果一组数据的各数据位在多条线同时被传输,这个传输方式被称为并行通信
特点:
各数据位同时传送,传送速度快,效率高,多用在实时、快速的场合
1~128位 小于30m
串行通信: 通过单线传输信息是串行数据通讯的基础 。数据通常是在两个站(点对点)之间进行传送,
按照数据流的方向可分为:
单工: 只能沿着一个方向传送,使用一根传输线
半双工:使用同一根传输线,既可发送数据又可接收数据,但不能同时发送和接收。
通过切换来决定数据向那个方向传输。 会产生时间延时。信息传输效率低些。
全双工: 由两根可以再两个不同的站点同时发送和接收的传输线进行传送,
通讯双方都能在同一时刻进行发送和接收操作。
传输效率高
异步传输和同步传输:
串行传输中,数据是一位一位按照到达的顺序依次传输的,每位数据的发送和接收都需要时钟来控制。
发送端通过发送时钟确定数据位的开始和结束。接收端需要在适当的时间间隔对数据流进行采样来正确地
识别数据。接收端和发送端必须要吃步调一致,否则就会在数据传输中出现差错。
异步传输:
在异步传输中,字符是数据传输单位。在通信的数据流中,字符间异步,字符内部各位间同步。异步
通信方式的“异步”主要体现在字符与字符之间通信没有严格定时要求
同步传输:
在同步传输中,比特块以稳定的比特流的形式传输,数据被封装成更大的传输单位,呗称为帧。每个帧中
含有多个字符代码,而且字符代码与字符代码之间没有间隔以及起始位和停止位。
硬件握手及软件握手
硬件握手:
发送方:通过将某一条导线拉到高电平或者低电平时,表示发送方可以发送数据。
接收方:接收方将某一条导线拉到高电平或者低电平,来通知发送方,发送方一直在检查该信号。
接收方可以再任何时候把这个信号变为无效,甚至是在一个接收一个数据块的过程中,当发送方检测到这个信号变为无效后,
将会停止本次发送,知道信号变成有效
软件握手:
在软件握手中,以数据线上的数据信号来代替实际的硬件电路。这种方法用在直线连接或者调制解调器连接两台计算机之间
进行双向通信的场合,对于软件握手现在已经建立了一些标准的协议,其中最常用的是通讯协议。通信协议是指双方的一种约定,包括数据格式
串口通信基本参数:
串口端口的通信方式是将字节拆分成一个接着一个的位再传送出去。接到此电位信号的一方再将此一个一个的位组合成原来的字节,如此形成一个字节的
完整传送。
1.数据的传输速度:bps 波特率 -- 串行通信中每一秒所传送的数据位数。
串行通信传输双方必须设置相同的波特率
19200bps 每秒可以传送1920个字符
1115200bps 每秒分别可以传送11520个字符
2.数据的传送单位 数据位
一般串口通信端口所传送的数据是字符型。 数据位: 5~8 位 ASCII 8位 JIS 为7位
3、起始位与停止位 停止位 (1 ,1.5,2 位) 起始位固定为1位
由于异步传输中并没有使用同步脉冲作为基准,故接收端完全不知道传输端何时将进行数据的传输,发送端准备要开始
传输数据时,发送端会在所发送的字符前后分别加上高电平的起始位(逻辑0)和低电平的停止位(逻辑1)
4、校验位:
为了预防错误的产生,使用校验位作为检查机制。校验位即是用来检查所传送的数据的正确性的一直核对代码,又分为奇校验和偶校验
5、硬件流控
RS-232C串口通讯标准
TXD --逻辑1为 -3V ~ -15V 逻辑0 3V ~ 15V
工作电压 3~15V
TTL转RS232 MAX232