Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo controlar la línea RTS/CTS del puerto serie en VB?

¿Cómo controlar la línea RTS/CTS del puerto serie en VB?

La configuración del puerto serie en Linux se realiza principalmente a través de la estructura termios, pero esta estructura no proporciona una interfaz para controlar RTS u obtener el estado de los pines del puerto serie como CTS. Estas interfaces se pueden obtener/controlar mediante llamadas al sistema ioctl. .

Obtener:

ioctl(fd, TIOCMGET, y bits de control);

if (bits de control y TIOCM_CTS)

printf( " Hay una señal \n ");

else

printf(" Sin señal \n");

Configuración:

ioctl(fd, TIOCMGET, amp; ctrlbits);

if (bandera)

ctrlbits |= TIOCM_RTS

else

ctrlbits &= ~TIOCM_RTS;

ioctl(fd, TIOCMSET, &ctrlbits);

De hecho, cuando TIOCM_RTS es válido, establece el RTS del puerto serie en señal, pero el nivel de el puerto serie es una señal cuando está bajo y no es señal cuando está alto, lo cual es opuesto al estado obtenido por TIOCMGET, es decir, e., TIOCMGET/TIOCMSET solo obtiene/controla el pin correspondiente del puerto serie. El pin se señala sin reaccionar al nivel real del puerto serie actual.