|
|
|
C语言实现串行通信接口程序
|
| |
尽管如此,大多数外设都提供了串行口接口,尤其在工业现场rs-232c的应用更为常见。ibm pc及兼容机系列都有rs-232的适配器,操作系统也提供了编程接口,系统接口分为dos功能调用和bios功能调用两种:dos int 21h的03h和04h号功能调用为异步串行通信的接收和发送功能;而bios int 14h有4组功能调用为串行通信服务,但dos和bios功能调用都需握手信号,需数根信号线连接或彼此间互相短接,最为不便的是两者均为查询方式,不提供中断功能,难以实现高效率的通信程序,为此本文采用直接访问串行口硬件端口地址的方式,用c语言编写了串行通信查询和中断两种方式的接口程序。 1.串行口工作原理 微机串行通信采用eia rs-232c标准,为单向不平衡传输方式,信号电平标准±12v,负逻辑,即逻辑1(marking)表示为信号电平-12v,逻辑0(spacing)表示为信号电平+12v,最大传送距离15米,最大传送速率19.6k波特,其传送序列如图1,平时线路保持为1,传送数据开始时,先送起始位(0),然后传8(或7,6,5)个数据位(0,1),接着可传1位奇偶校验位,最后为1~2个停止位(1),由此可见,传送一个ascii字符(7位),加上同步信号最少需9位数据位。
|
|
|
|
|
|
|
|
|
| 广告载入中... |
| 广告载入中... |
| 广告载入中... |
|
|
|
|
|