(1)串行通信线路三种工作方式:单工通信、半双工通信、全双工通信

单工:单工就是指A只能发信号,而B只能接收信号,通信是单向的。

半双工:半双工就是指A能发信号给B,B也能发信号给A,但这两个过程不能同时进行,如对讲机。

全双工:在A给B发信号的同时,B也可以给A发信号,如打电话,单片机串口通信。

(2)电平:单片机一般TTL电平,5V。标准RS232电平标准15V。通过MAX232进行电平转换。RS-232-C 将-5V~-15V 规定为“1”,+5V~+15V规定为“0”。

(3)

数据格式如上图,启动位和停止位各占1bit,奇偶校验可有可无。空闲时无论是接收线还是发送线都是高电平,一个下降沿的到来,说明了数据传输的开始。

(4)串口调试助手

a.如果没有勾上“以十六进制发送”,发送过去的数据是ASCII码格式,比如“1”,发过来的是0x31。(7 bit ASCII码是用七位二进制数进行编码的,可以表示128个字符)。但勾上“以十六进制发送”后,发送过来的数据则不是ASCII码,暂时是两位两位的发送,比如“01”,发过来就是“0x01”.(十六进制可以发送8bit数据)

b.数据位数:6、7、8

c.停止位数:1、2

d.校验位数:NONE、ODD(奇)、EVEN(偶)

e.常用串口波特率:300、600、1200、2400、4800、9600、19200、38400、43000、56000、57600、115200,单位为bps(bits per second),即每秒传输的比特数。串口最高速率为115Kbps,即0.1Mbps,而我们使用的百兆网卡速度100Mbps,速度整整相差了1000倍。

对于一个8bits的16进制数,没有校验位的数据,对于9600的波特率,9600/(1+8+1)=960 byte/s。

RS-422:全双工;TTL电平;传输速率提高到10Mb/s(比232提高了将近100倍);速率低于100kb/s时,传输距离延长到4000英尺(大概1200米);并允许在一条平衡总线上连接最搜索多10个接收器(单机发送、多机接收的单向)。

RS-485:半双工;TTL电平;传输速率提高到10Mb/s(和422相同);当波特率为9600,485传输距离1200米(和422相同);增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性。

1. 422与485协议电气性能相同。
2. RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6) V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS -232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。
3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。
4. RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。 因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络 ,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。

RS422总线、RS485和RS422电路原理基本相同,都是以差动方式发送和接受,不需要数字地线。差动工作是同速率条件下传输距离远的根本原因,这正是二者与RS232的根本区别,因为RS232是单端输入输出,双工工作时至少需要数字地线、发送线和接受线三条线(异步传输),还可以加其它控制线完成同步等功能。RS422通过两对双绞线可以全双工工作收发互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。以上三种接口各有缺点,在实际工作中可以根据需要灵活选用。

UART(串口)的更多相关文章

  1. (三) UART 串口通讯

    UART  : university asynchronous receiver and transmitter UART  // 通用异步接收器和发送器 为什么要有串口:因为许多嵌入式设备没有显示屏 ...

  2. 【C51】UART串口通信

    我们常需要单片机和其他模块进行通信,数据传输,常用的方式就是串口通信技术. 常用来 单片机<-->电脑,  单片机<-->单片机之间通信. 串行通信 versus 并行通信 并 ...

  3. Uart串口与RS232串口的区别

    Uart指的是TTL电平的串口:RS232指的是RS232电平的串口. TTL电平是3.3V的,而RS232是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平. Uart串口的RXD ...

  4. uart串口协议

      uart串口协议   /* USART Word Length ---------------------------------------------------------*/     US ...

  5. RTC实时时间系统学习笔记(一)---------------UART串口

    临近研三了,自己倾向于要找数字IC方面的工作,苦于教研室的项目一直都是调板子调板子调板子,真正用到FPGA的很少,,本着"工欲善其事必先利其器"的原则,在网上搜寻如何自学FPGA, ...

  6. Uart串口

    title: Uart串口 tags: ARM date: 2018-10-20 16:38:28 --- Uart串口 和单片机的应用没什么区别,首先设置IO复用,设置波特率和数据位,以及中断相关的 ...

  7. 第十六章 IIC协议详解+UART串口读写EEPROM

    十六.IIC协议详解+Uart串口读写EEPROM 本文由杭电网友曾凯峰根据小梅哥FPGA IIC协议基本概念公开课内容整理并最终编写Verilog代码实现使用串口读写EEPROM的功能. 以下为原文 ...

  8. linux UART串口驱动开发文档

    转:http://www.360doc.com/content/10/0417/18/829197_23519037.shtml linux UART串口驱动开发文档时间:2010-01-09 14: ...

  9. Linux下使用putty进行UART串口调试【转】

    本文转载自:http://blog.csdn.net/xzongyuan/article/details/11593101 版权声明:本文为博主原创文章,未经博主允许不得转载. 使用putty进行串口 ...

  10. 基于STM32之UART串口通信协议(四)Printf发送

    一.前言 1.简介 前面在UART发送中已经讲解过如何调用HAL库的HAL_UART_Transmit函数来实现串口发送,而在调用这个函数来实现串口发送的话,但是在发送数据或者字符的时候,需要将数据或 ...

随机推荐

  1. 例子: 自制Flask首页导航.

    # -*- coding:utf-8 -*- ''' Created on 2015年10月19日 ''' from flask import Flask, render_template impor ...

  2. layerX && layerY

    转载:https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/layerX UIEvent.layerX 非标准 这个属性是非标准的属性,并且 ...

  3. 《sort命令的k选项大讨论》-linux命令五分钟系列之二十七

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  4. javascript 事件对象

    1.事件对象  用来记录一些事件发生时的相关信息的对象  A.只有当事件发生的时候才产生,只能在处理函数内部访问  B.处理函数运行结束后自动销毁2.如何获取事件对象  IE: window.even ...

  5. demo_06Canvas

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. odoo 使用 80 端口

    OE安装好,一般需要通过 8069端口来访问. 1:Aapche2 安装 sudo apt-get install apache2 2.安装mod_proxy cd /etc/apache2/mods ...

  7. CSS3 学习

    border-radius: 半径,不用学了,用得很熟了,但要记得它的某一个角的写法是border-top/bottom-left/right-radius: ,参数中的两个值为先左右后上下,支持百分 ...

  8. Java 泛型快速排序 以sdut 1196为例

    oj链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1196 Java中,Arrays.so ...

  9. 让IIS识别PUT和DELETE请求

    转眼间年底了,突然的我就挪了窝.新的公司,新的电脑,新的服务器....面对新环境,手有些痒,于是试着编写自己的简易版restful API. restful的话,对资源的相应操作应该被体现成http动 ...

  10. CocoaPods简单使用

    CocoaPods的原理 CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中.Pods项目最终会编 ...