我想采用中断方式从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();
}