回 帖 发 新 帖 刷新版面

主题:题意不大明白,帮忙解释一下

(假设都在DOS系统实模式下)
书上有这么一个题目和解释:
两台PC机通过COM2端口进行串行数据通信,编写一个汇编程序要求从一台PC机上键盘输入的字符传送到另一台PC机上,若按下ESC键,则退出。
在程序中,COM2端口初始化为4800波特,8位数据位,无效验,1位终止位。

(1)检测按键,如果按下一键,则获取字符码并将它写到要传输的COM端口,同时也要检测是否为ESC
(2)如无按下任何键,检测COM端口的状态,如果已接收到一个字符,则读取并显示在屏幕上。
(3)转向第(1)步

有几点很不大理解:
(1):我把数据送到COM口的寄存器,它是不是没有缓冲区,也就是说我要写入COM口数据的话,它自己就把数据传送给另外一端的COM口?
(2):COM口接收的数据只能仅仅能暂存与COM口的数据寄存器(1个),我的读COM口的功能是不是另一端发送过来的,但是这中间又牵涉到一个双向传输的问题,如果是互动的话,线路上是怎么解决的?

书上讲的太少了,我再查查相关资料,如果那位有详细资料或者能
帮忙解释一下的话,不胜感激,我写的可能有很多错误,请帮忙改正

回复列表 (共1个回复)

沙发

是通过端口来完成的.
端口号在BOIS数据区可以找到,好象每一个COM口涉及8个端口.有些是控制端口,有些是数据端口.汇编书有说的,自己看下.
当然,如果你是调用DOS中断来完成,可以不涉及端口细节.

我来回复

您尚未登录,请登录后再回复。点此登录或注册