#include #include #include unsigned int MSR,THR,MCR; //registro Modem Status Register void inizializza(void) // per scegliere la porta (com1, com2 ..) { unsigned int port; //port=0x03F8; // indirizzo base di com1 port=0x02F8; // indirizzo base di com2 printf("\n"); MSR=port+6; // registro per lo stato del modem MCR=port+4; } //------------------------------------------------ fine di inizializza main() { unsigned char stato, flag=0; inizializza(); stato=inportb(MSR); // prima lettura a vuoto per stabilizzare il sistema while (! flag) { if (kbhit()) flag=1; stato=inportb(MSR); printf(" %x = stato modem\n",stato); if ((stato & 0x80) !=0)/* Š attiva la connessione. DCD=Data Carrier Detect */ { printf("DCD presente\n"); } else /* non e' attiva la connessione */ { printf("DCD assente\n"); // flag=1; } sleep(1); printf("provo a staccare ...\n"); outportb(MCR,0); } // while return 0; } // main