Parece que no puedo recibir datos en el monitor serie ArduinoStudio en ubuntu 14.04 [cerrado]


11

Estoy usando el Arduino Starter Kit, así que tengo un Uno R3 y revisando los ejemplos estoy tratando de leer los datos de temperatura de mi controlador en Arduino Studio.

En esencia, mi problema puede reducirse a

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.print("stuff");
}

Lo que esperaría seguir imprimiendo "cosas" en el monitor en serie.

(En la práctica, estoy ejecutando este código exacto, pero toda la lectura de temperatura que pasa parece irrelevante para mi problema, simplemente lo menciono porque puedo observar que mis LED se iluminan cuando la temperatura aumenta, así que sé que el código está cargado y corriendo en el Duo).

No veo ningún error en la consola de estudio, y si me conecto usando gtktermo screenpuedo ver los datos que se envían, el problema parece estar aislado en el monitor serial AndroidStudio.

Estoy ejecutando Ubuntu 14.04 y me he conectado a través de USB /dev/ttyACM3.

Intenté correr

stty -F / dev / ttyACM3 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts

como se sugiere aquí y también probé con baudios 115200, teniendo cuidado de cambiar también el valor en mi setupfunción.

Yo tambien corri

chmod a + rw / dev / ttyACM3

Pero todavía no veo ningún error o resultado. ¿Cómo procedo a depurar este problema?

Correr ls -l /dev/ttyACM*da

crw-rw ---- 1 acceso telefónico raíz 166, 0 feb. 20 14:22 / dev / ttyACM0

crw-rw ---- 1 acceso telefónico raíz 166, 1 feb. 20 14:22 / dev / ttyACM1

crw-rw ---- 1 marcación raíz 166, 2 feb. 20 14:22 / dev / ttyACM2

crw-rw-rw- 1 acceso telefónico raíz 166, 3 feb. 20 14:30 / dev / ttyACM3


1
Prueba GtkTerm o PuTTY.
Mikael Patel

@MikaelPatel Gracias, eso debería ayudarme a aislar el problema al menos :)
ivarni

1
¿Cuál es el resultado de "ls -l / dev / ttyACM *"?
Avamander

2
Intente poner la cadena "cosas" en comillas dobles en lugar de comillas simples.
Avamander

1
Estoy votando para cerrar esta vieja pregunta sin resolver porque el autor de la pregunta informa en sus comentarios que "ya no soy dueño del arduino ni de la computadora que estaba usando", lo que significa que será imposible resolver este problema de manera concluyente.
Chris Stratton

Respuestas:


0

De manera predeterminada, en un sistema Linux sin reglas de enlace udev específicas para cambiar el nombre del dispositivo a algo no estándar, el controlador FTDI debe asignar el puerto USB al puerto serie en / dev / ttyUSB * y no a / dev / ttbACM *. Sospecho que estabas buscando en el lugar equivocado. Creo que por defecto es / dev / ttyUSB * para cualquier usb a dongle en serie:

usb-serial.c:   usb_serial_tty_driver->name = "ttyUSB";

Para asegurarse de que está buscando en el archivo de dispositivo correcto, ejecute "sudo dmesg -C" antes de enchufar el Arduino, y luego simplemente 'sudo dmesg "para ver dónde se conectó el convertidor USB a serie. Debería ver un mensaje similar a este: convertidor ch341-uart ahora conectado a ttyUSB0 donde el ch341-uart se reemplaza por lo que tiene su arduino (muy probablemente FT232'ish)
louigi600

Esto probablemente no sea aplicable. La publicación dice que está usando un Uno R3, que no tiene un FTDI, sino que tiene una implementación en serie USB personalizada en un ATmega16u2 que se asignará como un dispositivo ttyACM no uno ttyUSB, eso solo sucede en placas que usan otras soluciones seriales USB, como Arduinos más viejos y clones variados y compatibles.
Chris Stratton

Ok, pero aún haciendo lo de dmesg le dirá cuál es el dispositivo correcto que Linux está asignando al arduino ... no mostrará ch340 o FT * ... pero aún informará cuál es el archivo especial de caracteres asignado en / dev.
louigi600
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.