comdemo.bak

来自「DOS下使用PCI扩展串口的程序希望对大家有用」· BAK 代码 · 共 61 行

BAK
61
字号
#include    "incldef.h"
#include    "deftyp.h"
#include    "pciox.h"
void interrupt  newvect(...);
void interrupt  newvect(...)
{
;
}
int main(int argc, char **argv)
{
     AdrInt  adrint;
     unsigned  int  Baseadr;
     unsigned  int  i,n;
     unsigned  int  traport,recport;
     unsigned  int  traportadr,recportadr;
     char  ch;
     char txbuf[10]="abcdefghi";
     traport = 1;
     recport = 2;

     adrint = getbasecfg();
     Baseadr = adrint.baseadr0;
     pcicomint(Baseadr, (traport-1)<<3);
     pcicomint(Baseadr, (recport-1)<<3);

     pcicomBaudSet(Baseadr, (traport-1)<<3, 57600);
     pcicomBaudSet(Baseadr, (recport-1)<<3, 57600);

     pcicomFifoSet(Baseadr, (traport-1)<<3, 0x20);
     pcicomFifoSet(Baseadr, (recport-1)<<3, 0x20);

     traportadr = Baseadr + ( (traport-1)<<3 );
     recportadr = Baseadr + ( (recport-1)<<3 );
     for (i=0,n=20; n<100; n++)
     {
	 while ((inportb(traportadr+LSR) & 0x20)==0x00);
	      outportb(traportadr, n);
	      //sendchar(Baseadr, (traport-1)<<3, txbuf);
	 while ((inportb(recportadr+LSR) & 0x01)==0x00);
	       //ch = inportb(recportadr);
	       ch = getcha(Baseadr, (recport-1)<<3);
	 if (ch!=n)
	 {
	    i++;
	    printf("%c", ch);
	 }
     }
     if (i==0)
	   printf("\nPORT%d ->PORT%d Query COM OK.", traport,recport);
	else
	   {printf("\nerror number %d\n",i); i=0;}
     Inter_txrx(adrint.intline);
     setvect(vectadr[adrint.intline],newvect);
     enable();
      ;
      ;
      ;
      ;
     Close_txrx(adrint.intline);
     return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?