
¿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);
}
}