| 网站首页 | 电脑论坛 | 计算机原理 | 电脑主板 | cpu中央处理器 | 内存 | 硬盘 | 软驱 | 光驱 | usb设备 | 显卡 | 
 | 显示器 | 声卡 | 电脑音箱 | 耳机耳麦 | 网卡 | 局域网的组建 | 鼠标 | 键盘 | 电脑电源 | 电脑机箱 | 电脑组装与维修 | 
 | 电脑摄像头 | 网友留言 | 网站地图 | 网站地图2 | 
您现在的位置: 电脑硬件知识网 >> 计算机原理 >> 计算机总线 >> 文章正文  
[组图]Turbo C中异步通信功能调用           ★★★
Turbo C中异步通信功能调用
作者:陆志才 文章引用自“微型计算机组成原理”(高教出版社,南开大学2003)点击数: 更新时间:2007-3-12 20:42:21
 

Turbo C中异步通信功能调用

    异步通信BIOS功能调用(INT 14H软中断)一般用于汇编语言编程。当用高级语言时应利用语言本身提供的相应功能。

    为支持异步通信口操作,Turbo C提供了bioscom( )函数。该函数的原型是:int bioscom(int cmdchar byteint port)。其中,port用来指定要操作的通信口:0COM11COM2cmd为操作命令,可取四种值:0为初始化port指定的通信口;l为发送一个字符至port指定口;2为从port指定口接收一个字符;3为取port指定口的状态。中间的参数bytecmd0时,为初始化参数字节,各位的含义同INT 14H功能0的初始化参数;在cmdl时,为欲发送的字符;在cmd23时,byte0

    bioscom( )函数的返回值是int型。它的高字节除第7位为1表示超时外,其他为LSR应位的内容,含义同LSR。接收时常判别第0位,若为1,表示已接收到一个字符。发送时常判别第5位,若为l,表示发送保持器已空,可以发送下一个字符。返回值的低字节在cmd013时,为MSR的内容,含义同MSR;在cmd2时,为接收到的字符。

    下面的程序是用查询方式对COM2进行操作。它的功能是:在接收到以“$”结尾的字符串时显示该字符串;在接收到以“D”开始、以“$”结尾的字符串时回送一事先准备好的字符串。该程序需用CTRL C命令(即同时按下CTRL键和C)强行终止。





    PC系列机中提供了通信中断逻辑,但DOS操作系统本身不支持异步通信中断。用户若要使用中断方式,需要做以下工作:

    ①编写通信中断服务程序;

    ②设置中断向量,即把通信中断服务程序入口地址填人中断向量表;

    ③置OUT21,即允许通信接口逻辑的中断送到系统总线上;

    ④取消对通信口中断的屏蔽。

    下面是用中断方式进行通信的两个程序示例。程序1的功能是:在接收到以“D”开始、以“$”结尾的字符串时将其显示出来(在主程序中),并回送一字符串;按任一键,程序退出。程序2的功能是:每当键盘输入一字符串后,将该字符串发送出去;接收中断中通过BIOS

功能调用显示所收到的字符;键入一字符串并回车后,立即按任一键,程序退出。





















 

本篇文章属于主题:PC系列机的串行通信,了解更多请点击:PC系列机的串行通信
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目

    电脑硬件知识站导读

    最 新 热 门

    最 新 推 荐
    相 关 文 章
    Windows平台上的串行通信…
    异步通信BIOS功能调用
    8250的初始化
    8250内部寄存器
    PC系列机的串行通信
    最 新 文章
    文章 下载 图片
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
            我与电脑共舞