2011-05-12 19 views
6

Recientemente compré un convertidor TrendNet TU-S9 USB a RS232. Necesito hablar con microcontroladores que usan RS232 a 9600 baudios. El código que tengo para una caja de Linux funciona bien. Instalé los controladores de acuerdo con las instrucciones en mi computadora portátil y un Mac Mini que ejecuta OS X 10.6.7. Cambié el dispositivo a /dev/cu.usbserial.TrendNet TU-S9 RS232/USB y OS X

Esto es lo que sucede. Seguro que parece que la comunicación funcionará la primera vez que lo intente. Pero si salgo del proceso ya no puedo escribir en el dispositivo en serie. Si desconecto la conexión USB y vuelvo a enchufarla, puedo ir una vez más. Es decir. parece que enchufar el conector USB es lo que se necesita para restablecer las funciones a un estado utilizable.

Cuando recibo el error la segunda vez que intento iniciar el proceso, puedo abrir el dispositivo, pero el error ocurre la primera vez que intento enviar un byte a través de la interfaz serie. El error de perror es "Serial: No such such file or directory".

Puedo solucionar este problema escribiendo un segundo programa que simplemente abre el dispositivo cu.usbserial y luego se repite para siempre. Sin embargo, esta no parece ser la mejor manera de solucionarlo.

¿Alguien ha visto este comportamiento? ¿Alguien puede replicarlo? ¿Alguien sabe cómo arreglarlo?

Nota: esto podría estar relacionado con una publicación anterior Programmatically talking to a Serial Port in OS X or Linux, o podría no ser así.

Eric

+0

¿Ve el mismo error al reabrir si utiliza un programa de terminal conocido para abrir el dispositivo, salir y luego abrirlo de nuevo? Si es así, quizás haya un error en su controlador de kernel. ¿Los usuarios finales son recompilables en OSX? Si no es así, es posible que deba abordarlo con el proveedor o probar una marca diferente, o vaya con su idea de un proceso proxy (aunque puede usar seleccionar() en lugar de un bucle) –

Respuesta

19

realmente no tener una respuesta a usted es problema exacto, pero tenía problemas para conseguir el TU-S9 trabajar con mi MacBook Pro en la actualidad. Tengo el nuevo 2011 MBP corriendo 10.6.7. Instalé los controladores de TrendNet y el dispositivo apareció en mi System Profiler como un adaptador serial USB prolífico, pero el dispositivo no estaba disponible en ninguno de mis programas de terminal (zterm y goSerial).

Más tarde descubrí que realmente necesitaba descargar los últimos controladores de Prolific directamente http://prolificusa.com/pl-2303hx-drivers/ (md_PL2303_MacOSX10.6_dmg_v1.4.0.zip). Tan pronto como instalé los controladores más recientes y reinicié, funcionó perfectamente.

En/dev tuve cu.usbserial y tty.usbserial. Pude acceder a la terminal usando cualquiera de ellos usando el comando "screen tty.usbserial 9600" (también funcionó desde zTerm)

Espero que esto ayude a alguien.

+0

Gracias, esto me ayudó también con mi MBP OSX 10.8.2 –

+0

¡Respuesta perfecta! Gracias. – Payyot

+0

FYI, esto también funcionó para mí en OS X 10.9.5 – TechSavvySam