Linux串口编程详解
分类: linux_apps2012-05-2016:11 2074人阅读 评论(0) 收藏 举
linuxdelay通讯characterterminalinput
目录([+]
· 串口本身,标准和硬件
o 什么是串行通信
o 什么是RS-232
§ 信 定义
o 异步通讯
§ 什么是全双工和半双工
§ 什么是流控制
§ 什么是BREAK
o 同步通讯
· 用户看到的串口和用户空间的串口编程
o 串口的设备文件
o 打开串口
o 打开文件的选项
o 给端口上写数据
o 从端口上读取数据
o 关闭串口
· 配置串口
o POSIX终端接口
§ 控制选项
§ 设置波特率
§ 设置字符大小
§ 设置奇偶校验
§ 设置硬件流控制
o 本地设置
§ 选择经典输入
§ 选择原始输入
o 输入选项
§ 设置输入奇偶校验选项
§ 设置软件流控制
o 输出选项
§ 选择加工过的输出
§ 选择原始输出
o 控制字符
§ 设置软件流控制字符
§ 设置读取超时
· 调制解调器通讯
o 什么是调制解调器
o 与调制解调器通讯
§ 标准调制解调器命令
o 高级串口编程
§ 串口的ioctl
§ 取得控制信
§ 设置控制信
· 英文原文
串口本身,标准和硬件 ?
串口是计算机上的串行通讯的物理接口。计算机历史上,串口曾经被广泛用于连接计算机和终端设备和各种外部设备。虽然以太 接口和USB接口也是以一个串行流进行数据传送的,但是串口连接通常特指那些与RS-232标准兼容的硬件或者调制解调器的接口。虽然现在在很多个人计算机上,原来用以连接外部设备的串口已经广泛的被USB和Firewire替代;而原来用以连接 络的串口则被以太 替代,还有用以连接终端的串口设备则已经被MDA或者VGA取而代之。但是,一方面因为串口本身造价便宜技术成熟,另一方面因为串口的控制台功能RS-232标准高度标准化并且非常普及,所以直到现在它仍然被广泛应用到各种设备上。某些计算机使用一个叫做UART的集成电路来作为串口设备。这个集成电路可以进行字符和异步串行通讯序列之间的转换,并且可以自动地处理数据的时序。而某些低端设备则会让CPU直接通过输出针来传送数据,这种技术叫做bit-banging。因为“串口”,RS-232和UARTs基本上总是在同一个语境中出现,所以这些名词通常会被搞混。下面逐一解释以下一些重要的名词和术语。
↑
什么是串行通信 ?
计算机可以每次传送一个或者多个位(bit)的数据。“串行”指的式每次只传输一位(1bit)数据。当需要通过串行通讯传输一个字(word)的数据时,只能以每次一位的方式接收或者发送。每个位可能是on(1)或者off(0)。很多技术术语中经常用mark表示on,而space表示off。
串行数据的速度通常用每秒传输的字节数bits-per-second(bps)或者波特率(baud)表示。这个值表示的是每秒钟被送出的0和1的个数。很久很久以前,300bps就是很快的速度了,而现在的电脑可以处理高达430,800的RS-232速率。表示波特率的单位还有kpbs和Mbps,1kps=1000bps而1Mbps=1000kbps。一般有人提到串行设备的时候,它通常说可能是某种数据通讯设备-DCE(Data Communications Equipment)或者数据终端设备-DTE(Data TerminalEquipment)。它们之间的区别非常简单,每个信 对,比如传送和接收,它们俩正好是相反的。如果需要将两个DTE或者DCE设备连接起来的话,需要适配器或者交叉线缆将信 对交换。
↑
什么是RS-232 ?
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!