AD2817 Manual de usuario
}
c = read_port( PORT );
if( c == 0xcc ) continue;/*saltar los demás caracteres del protocolo de
comunicación*/
if( c == '\n' ) break;
*ps = c;
ps++;
}
*ps = 0;
}
/* envía un carácter al puerto serie */
void send_port( int port,char c )
{
union REGS r;
r.x.dx = port;
r.h.ah = 1;
r.h.al = c;
int86( 0x14,&r,&r );
if( r.h.ah & 128 )
error de transmisión */
{ printf( "\nE00:Error de envío por el puerto serie!" );
exit(1);
}
}
/* lee un carácter desde el puerto serie */
char read_port( int port )
{ union REGS r;
r.x.dx = port;
r.h.ah = 2;
int86( 0x14,&r,&r );
if( r.h.ah & 128 )
{ printf( "\nE01:Error de lectura del puerto serie!" );
exit(1);
}
return r.h.al;
}
/* comprobar el estado del puerto serie */
int check_stat( int port )
{ union REGS r;
r.x.dx = port;
r.h.ah = 3;
/* puerto serie */
/* función1 int14 :enviar carácter */
/* carácter a enviar */
/* comprobar ah.7,si definida por int86( 0x14,&r,&r ), significa
/* puerto serie */
/* función2 int14 :lee carácter */
/* Si ah.7 se ha definido, significa un error de transmisión */
/* puerto serie */
/* funció3 int14 : lee el estado */
46