我想采用中断方式从COM2口接受数据,但不管怎么试也不好使,望高手指点一二
我的程序如下:如有错误清大侠们不吝赐教
void Init(void)
{
  outportb(0x2fb,0x80);
  outportb(0x2f8,0x0c);
  outportb(0x2f9,0x00);
  outportb(0x2fb,0x03);
  outportb(0x2fc,0x08|0x0b);
  outportb(0x2f9,0x0f);
}//COM2口初始化
void interrupt far (* old_com2)(...);
void interrupt far com2_handler(...)
{
  Data_i++;
  if(Data_i>1000)
   Data_i=0;//就是看看是否拦截到COM2口中断
void com2_on(void)
{
  char s;
  s=inportb(0x21);
  s=s&0xf7;
  outportb(0x21,s); 
  old_com2=getvect(0x0b);
  setvect(0x0b,com2_handler);
}
void com2_off(void)
{
  setvect(0x0b,old_com2);
}
void main(void)
{ 
  int Data_i=0;
com2_on();
for(;<img src="images/smilies/face-wink.png" align="absmiddle" border="0">
{
  if(Data_i/10==0)
  printf("com2 int"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
  
}
com2_off();
}