原文为Serial Programming Guide for POSIX Operating Systems(5th Edition,Michael R. Sweet,Copyright 1994-1999, All Rights Reserved.)转载本翻译请与作者联系pangdae2005@yahoo.co.uk
POSIX操作系统串口编程
介绍
POSIX操作系统串口编程将指导您如何在UNIX工作站或者PC上编制成功、有效、可移植的相关程序。每一章节均提供一些使用POSIX终端控制函数的例程,目的是使其在很少的修改下能够运行于IRIX,HP-UX,SunOS,Solaris,Digital UNIX,Linux等大多数UNIX操作系统。这些操作系统使用文件作为端口设备和锁文件。
第一章 串口通讯基础
本章介绍串口通讯,RS-232和其他一些标准,以及如何使用C程序访问串口。
什么是串口通讯?
计算机同时传送一或多位信息(数据),串口通讯包括大多数的设备,键盘,鼠标,调制解调器和终端。使用串口通讯收发数据的每一个字(如字符或字节)时,都是同时收发一位,每一位或为开或为关,有时也可以记为有(mark)或无(space)。串口通讯传输数据的速度通常表示为位每秒(bps)或者波特率(baud).它描述了一秒钟内能够传送多少个零和一。回首计算机早期的时代,300波特被认为是快速的,但是现在的计算机能够按照RS-232的速度传送430800波特,当波特率超过了1000,就使用千波特或者kbps来表示,例如9.6k等。超过了1,000,000,就使用兆波特或者Mbps来表示。串口设备或端口中,有的被标为数据传输设备DCE或数据终端设备DTE,他们之间的不同是每一对信号线,如收发,都是被交替的。当两个DTE或者DCE设备接口相连时,常使用虚拟数据线或适配器交换一对信号。
什么是RS-232?
RS-232是一种被电子工业协会EIA定义的串口通讯标准电器接口。RS-232实际上包含了三种不同的规格,每一种规格定义了不同的零和一的电压范围。最常用的类型是RS-232C,它定义了高电位范围为-3v到-12v,低电位范围为+3v到+12v。RS-232C规格说明信号最大可以传出8m。当波特足够低的时候,信号可以传送远于8m。导线中传送的包括进或出的数据,时钟,状态,握手信号。