¿Cómo configurar el puerto USB a serie en QNX?

¿Cómo configurar el puerto USB a serie en QNX?

¿Cómo configurar un dispositivo USB a serie en el sistema operativo QNX para usarlo en código como open("/dev/serusb1")? Estoy usando VMWare para alojar QNX. ¿Cómo comprobar si el adaptador USB está conectado correctamente?

Respuesta1

El controlador que necesita ejecutar se llama devc-serusb. Una vez ejecutado, si el hardware está presente, debería ver el dispositivo /dev/serusbx en /dev. (donde x es el índice de su dispositivo)

Después de conectar el dispositivo USB a serie a su caja física, asegúrese de que esté conectado a su imagen QNX Vmware en ejecución y que el dispositivo aparezca en /dev después de ejecutar el controlador.

El siguiente paso es confirmar que está funcionando desde la línea de comando. Conecte el otro extremo del dispositivo serusb a algo que envíe datos. Luego ejecuta esto en la línea de comando:

# cat /dev/serusb1

Si no ve ningún dato entrante, es posible que haya una velocidad en baudios u otro parámetro en serie que esté desactivado, consulte la documentación del comando stty para configurar los parámetros correctamente. Si está ejecutando 115200 8-n-1, puede hacer algo como esto:

# stty baud=115200 < /dev/serusb1

Si puede hacer que se muestren datos cuando "cat" el dispositivo desde la línea de comando, entonces está listo para abrir el dispositivo desde un programa y leerlo como si fuera un archivo, algo como esto:

int main(int argc, char* argv[]) {
    int fd=-1;
    char ch;
    fd = open("/dev/serusb1", O_RDONLY);
    while(read(fd, ch, 1) > 0) {
        printf("%c", ch);
    }
}

información relacionada