2012-10-12 120 views
9

Tengo RXTX instalado en una Mac. Tanto un programa Java JAR como el software Arduino ven el Arduino como un módem USB. Ambos afirman que el puerto "ya está en uso" si tratamos de abrir el puerto serie. Ambos reclaman "Usuario Desconocido". Tengo el rxtxcomm.jar en las extensiones de Java.RxTx en Mac: puerto serie ya en uso

¿Cómo hago que cualquiera de estos funcione?

Respuesta

24

El OS X tiene algún tipo de mecanismo de exclusión en los puertos de serie. La MacBook no tiene ningún puerto serie, pero los puertos USB los emulan. Cuando el Arduino está conectado, aparece en la lista de puertos como "/dev/tty.usbmodem ..." donde ... son algunos dígitos finales.

Cuando se dice que el puerto estaba ocupado, es una excepción estándar I/O que significaba que no podíamos obtener acceso. El propietario actual no estaba definido porque no había un propietario actual. Simplemente no teníamos el acceso requerido al directorio para tomar posesión.

utilizando el terminal de Apple, haga lo siguiente:

sudo mkdir /var/lock 
sudo chmod a+rw /var/lock 

Esto crea en el directorio deseado y lo hace accesible. ¡El puerto serie ya no estará ocupado, a menos que algo más realmente lo esté usando!

+0

¡Muchas gracias! Muy buena respuesta! –

+0

eres un héroe, ¡tú! – Chris

0

Encontré algo de información en el sitio RXTX bajo troubleshooting, Mac OS X. Tienen un script de shell que puede ejecutar llamado fixperm.sh que cambia los permisos de /var/lock/. Hay más información sobre /var/lock en el FHS site.

1

processing.app.SerialException: El puerto serie '/dev/tty.usbmodem ...' ya está en uso. Intente salir de cualquier programa que pueda estar usándolo.

Esto me pasa cuando mi USB HDD externo también está conectado. cuando lo desconecto, el proceso de carga de Arduino funciona como debería.

+0

Al quitar mi memoria USB (unidad flash) solucioné mi problema. Gracias por publicar eso como '/ var/lock', al menos solo, no pareció solucionar el problema. –

Cuestiones relacionadas