中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [建议]强烈建议! 上一主题 | 下一主题
sunny1979
初级用户

忍者


积分 376
发帖 86
注册 2003-10-16
状态 离线
『楼 主』:  [建议]强烈建议!

编程区需要高手介入,好多问题至今还是问题,没有得到解答!
SOS:C里边的串口怎么定义,好象没人知道!



以C语言软件开发为主:http://sunny1979.icpcn.com
2003-11-20 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
如是大师
元老会员

步行的人


积分 9654
发帖 3351
注册 2003-3-11
来自 湖北
状态 离线
『第 2 楼』:  

这一块我不太熟..不敢发言..



弄花香满衣,掬水月在手。
                 明月鹭鸟飞, 芦花白马走。
       我自一过后,野渡现横舟。
              青云碧空在,净瓶水不流。
http://dos.e-stone.cn/guestbook/index.asp
   ======中國DOS聯盟=====
我的新网页http://rsds.7i24.com欢迎光顾
2003-11-21 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sunny1979
初级用户

忍者


积分 376
发帖 86
注册 2003-10-16
状态 离线
『第 3 楼』:  有谁帮我?

有谁帮我?[em01]



以C语言软件开发为主:http://sunny1979.icpcn.com
2003-11-24 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GhostJ
初级用户




积分 168
发帖 16
注册 2003-11-21
状态 离线
『第 4 楼』:  

何為"串口"可以解釋一下嗎


2003-11-24 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jddj007
初级用户




积分 146
发帖 11
注册 2003-6-22
状态 离线
『第 5 楼』:  

TC for DOS下控制串口
在Trubo C for DOS下要通过串口发送数据,就需要知道串口地址,然后才可以向该地址直接发送字符。
程序如下:
#include
#include
#include
#include
#include
#include
#include
typedef  short SHORT;

#define WAITIME 30000
#define DBUF    0X0       /* DATA BUFFER REGISTER  */
#define LSR     0x5       /* line status register  */

static SHORT portaddress[]={0x3f8,0x2f8,0x3e8,0x2e8};
/* 串口地址 COM1  COM2  COM3  COM4 */
static SHORT portadd; /*串口号码*/

/*发送数据到指定地址*/
void Out_func( port, c )
SHORT port;
char  c;
{
   SHORT i = 0;

   do
   {
      i++;
      if (i == WAITIME) break;
   }
   while (!(inp(port+LSR) & 0x20));  /* 0x3ed */
         /* wait until trans preparation */

   if (i < WAITIME)
      outp(port+DBUF,c);
}

/*把连续的字符串分解成单个字符发送*/
void Out_Array( num, str )
SHORT num;
char  *str;
{
   SHORT i;
   char *p;

   p = str;
   for ( i = 0; i<num; i++, p++ )
       Out_func( portadd, *p );
}

/*初始化串口*/
void light_init()
{
   Out_func( portadd, 0x1b );
   Out_func( portadd, 0x40 );

   /*发送清屏命令*/
   Out_func( portadd, 0x0c );
}




2003-11-25 00:00
查看资料  发送邮件  发短消息 网志  OICQ (8173512)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: