下一页 上一页 目录

1. 简介

本 HOWTO 涵盖了关于串行端口的基本信息,这种端口在新式个人电脑上已经消失,但在最近的嵌入式系统以及路由器、销售点设备等中仍然被使用。它包括多端口串行卡。本文档编写于串行端口是连接 PC 与调制解调器和打印机等主要端口的时代,本文的风格也反映了这一点。如果您在串行端口方面遇到问题,想要了解其工作原理,或者在学习串行编程之前需要对其进行详细的介绍,那么这里是找到相关信息的地方。

本 HOWTO 是关于使用 UART 芯片的原始串行端口,有时被称为 “UART 串行端口”,以区别于新型串行设备:通用串行总线或火线。与新型串行设备相比,它速度较慢,但发送文本的速度仍然比您阅读的速度快几倍。关于使用串行端口的设备的具体信息:模拟调制解调器、文本终端、红外设备和一些打印机,可在 Modem-HOWTO、Text-Terminal-HOWTO、Infrared-HOWTO 和 Printing-HOWTO 中找到。关于 getty(运行登录进程或类似进程的程序)的信息也已移至其他相关的 HOWTO,因为 mgetty 和 uugetty 最适合调制解调器,而 agetty 最适合文本终端。如果您正在处理调制解调器、文本终端、红外设备或打印机,那么您可能不需要查阅本 HOWTO。但是,如果您正在将串行端口用于其他设备、使用多端口串行卡、对串行端口本身进行故障排除,或者想要了解串行端口的更多技术细节,那么您可能需要使用本 HOWTO 以及其他一些 HOWTO。(请参阅 相关 HOWTO)本 HOWTO 列出了关于各种多端口串行卡的信息。本 HOWTO 针对运行在 PC(ISA 和/或 PCI 总线)上的 Linux,尽管它可能也适用于其他架构。

1.1 版权、免责声明和致谢

版权

版权所有 (c) 1993-1997 Greg Hankins,(c) 1998-2005 David S. Lawyer mailto:dave@lafn.org

请以任何格式自由复制和分发(出售或赠送)本文档。请将任何更正和意见发送给文档维护者。您可以创建衍生作品并分发它,前提是您

  1. 如果不是翻译:通过电子邮件将您的衍生作品副本(以 LDP 接受的格式)发送给作者和维护者(可能是同一个人)。如果您没有收到回复,请通过电子邮件发送给 LDP(Linux 文档项目):submit@en.tldp.org。
  2. 以本许可的精神许可衍生作品或使用 GPL。包含版权声明和至少指向所用许可证的指针。
  3. 对之前的作者和主要贡献者给予应有的肯定。

如果您正在考虑制作除翻译以外的衍生作品,则请求您与当前的维护者讨论您的计划。

免责声明

虽然我没有故意误导您,但本文档中可能存在许多错误。请告知我这些错误。由于这是免费文档,因此显而易见,我对任何错误不承担法律责任。

商标。

任何品牌名称(以大写字母开头,例如 MS Windows)都应被视为商标。此类商标属于其各自的所有者。

致谢

最初的 Serial-HOWTO 的大部分内容由 Greg Hankins 编写。 mailto:gregh@twoguys.org 他还重写了许多其他人的贡献,以保持写作风格和流程的连贯性。他写道:“感谢所有做出贡献或评论的人,人员名单已经太长而无法一一列出(大约一百多人)。特别感谢 Ted Ts'o 回答有关串行驱动程序的问题。” v2.00 大约一半来自 Greg Hankins HOWTO,另一半是 David Lawyer 的补充。Ted Ts'o 一直乐于助人。在 2006 年 1 月,“Charles Brockman” 审查了其中的错别字,从而修复了许多错别字。

1.2 本 Serial-HOWTO 的新版本

新版本可能会每隔一两年发布一次。它们将在 LDP 镜像站点上提供浏览和/或下载,请参阅:http://www.tldp.org/mirrors.html。提供各种格式。如果您只想快速查看最新版本的日期,请查看 http://www.tldp.org/HOWTO/Serial-HOWTO.html 并将其与此版本进行比较:v2.27 2011 年 2 月。

1.3 最近版本中的新增内容

有关追溯到我开始维护本 HOWTO 的完整修订历史,请参阅源文件(linuxdoc 格式):(cvs) Serial-HOWTO.sgml

1.4 关于串行端口的相关 HOWTO 等

调制解调器、文本终端、一些打印机和其他外围设备通常使用串行端口。从最近的镜像站点获取这些 HOWTO,如上所述。

1.5 反馈

请向我发送任何建议、更正或补充材料。告诉我您不理解的内容或可以更清楚的内容。您可以通过电子邮件 mailto:dave@lafn.org 与我联系。

1.6 什么是串行端口?

传统的串行端口(不是较新的 USB 端口或火线端口)是一个非常古老的 I/O(输入/输出)端口。直到大约 2006 年,大多数新台式 PC 都配备了一个,而 1990 年代的旧 PC 有时配备了 2 个。大多数笔记本电脑在台式机之前就放弃了它们。1998 年年中之后的 Mac(苹果电脑)只有 USB 端口。但是,可以将传统的串行端口设备放在所有现代 PC 上的 USB 总线上。

每个串行端口在 /dev 目录中都有一个与之关联的 “文件”。它实际上不是文件,但看起来像一个文件。例如,/dev/ttyS0。其他串行端口是 /dev/ttyS1、/dev/ttyS2 等。但是 USB 总线、多端口卡等上的端口具有不同的名称。

传统串行端口的通用规范是 RS-232(或 RS-232)。因此,它通常被称为 “RS-232 串行端口”。串行端口的连接器通常被视为 PC 背面的一个或两个 9 针连接器(在某些情况下为 25 针)。但是串行端口不仅仅是连接器。它包括相关的电子设备,这些电子设备必须产生符合 RS-232 规范的信号。请参阅 电压波形。一个引脚用于发送数据字节,另一个引脚用于接收数据字节。另一个引脚是公共信号地。其他 “有用” 的引脚主要用于信令目的,稳定的负电压表示 “关”,稳定的正电压表示 “开”。

UART(通用异步接收器-发送器)芯片完成了大部分工作。如今,此芯片的功能通常内置于另一个芯片中。请参阅 什么是 UART? 这些芯片随着时间的推移而得到改进,旧型号(例如 1994 年之前的型号)通常非常过时。

串行端口最初设计用于将外部调制解调器连接到 PC,但它也用于连接许多其他设备,例如鼠标、文本终端、一些打印机等。您只需使用正确的电缆将这些设备插入串行端口即可。许多内置调制解调器卡都有内置的串行端口,因此当您在 PC 内部安装一个时,就好像您只是在 PC 中安装了另一个串行端口。


下一页 上一页 目录