标题: [建议]强烈建议!
[打印本页]
作者: sunny1979
时间: 2003-11-20 00:00
标题: [建议]强烈建议!
编程区需要高手介入,好多问题至今还是问题,没有得到解答!
SOS:C里边的串口怎么定义,好象没人知道!
作者: 如是大师
时间: 2003-11-21 00:00
这一块我不太熟..不敢发言..
作者: sunny1979
时间: 2003-11-24 00:00
标题: 有谁帮我?
有谁帮我?[em01]
作者: GhostJ
时间: 2003-11-24 00:00
何為"串口"可以解釋一下嗎
作者: jddj007
时间: 2003-11-25 00:00
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 );
}