static int receive_delay=10000;
int may(unsigned par,char *comm,char *ss)
{int cs=0,j=0;
char *p;
bioscom(0,par,0); //com1
loop:p=comm;
inportb(0x3f8); //reset
do{ while((inportb(0x3f8+5)&0x20)==0); outportb(0x3f8,*p++);
}while(*p); //send command
os=0;j=0;
do{ if((inportb(0x3fd)&0x01)==0)
if(os¡µreceive_delay) break;
else { cs++;
continue; } ss[j++]=inportb(0x3f8); cs=0;
}while(l);
ss[j]='\0';
if(j) return 0;
else return 1;
³ÌÐò2£º
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <bios.h>
#inolude <dos.h>
#define maxsize 4096
#define SEND 2
#define RECEIVE 1
#define COM1 0
#define COM2 1
static unsigned char Hardinterrupt=0;
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余4页未读,立即下载
- 1
- 2
前往页