Non riesco a ricevere dati sul monitor seriale ArduinoStudio su Ubuntu 14.04 [chiuso]


11

Sto usando lo Starter Kit di Arduino quindi ho uno Uno R3 e sto esaminando gli esempi che sto provando a leggere i dati di temperatura dal mio controller in Arduino Studio.

In sostanza il mio problema può essere ridotto a

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

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

Che mi aspetto di continuare a stampare "roba" sul monitor seriale.

(In pratica sto eseguendo questo codice esatto ma tutta la lettura della temperatura in corso sembra irrilevante per il mio problema, lo sto semplicemente citando perché posso osservare che i miei LED si accendono quando la temperatura aumenta, quindi so che il codice è caricato e in esecuzione sul Duo).

Non vedo alcun errore nella console di studio e se mi connetto utilizzando gtktermo screenposso vedere i dati inviati, il problema sembra essere isolato dal monitor seriale AndroidStudio stesso.

Sto eseguendo Ubuntu 14.04 e mi sono collegato via USB /dev/ttyACM3.

Ho provato a correre

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

come suggerito qui e ho anche provato con baud 115200, avendo cura di cambiare anche il valore nella mia setupfunzione.

Ho anche corso

chmod a + rw / dev / ttyACM3

Ma non vedo ancora alcun errore o output. Come procedo al debug di questo problema?

Correre ls -l /dev/ttyACM*

crw-rw ---- 1 dialout di radice 166, 0 feb. 20 14:22 / dev / ttyACM0

crw-rw ---- 1 dialout di radice 166, 1 feb. 20 14:22 / dev / ttyACM1

crw-rw ---- 1 dialout di radice 166, 2 feb. 20 14:22 / dev / ttyACM2

crw-rw-rw- 1 dialout di radice 166, 3 feb. 20 14:30 / dev / ttyACM3


1
Prova GtkTerm o PuTTY.
Mikael Patel,

@MikaelPatel Grazie, questo dovrebbe aiutarmi a isolare il problema almeno :)
Ivarni

1
Qual è l'output di "ls -l / dev / ttyACM *"?
Avamandro,

2
Prova a mettere la stringa "roba" tra virgolette doppie anziché virgolette singole.
Avamandro,

1
Sto votando per chiudere questa vecchia domanda irrisolta perché il richiedente afferma nei commenti che "Non possiedo né Arduino stesso né il computer che stavo usando più", il che significa che sarà impossibile risolvere definitivamente questo problema.
Chris Stratton,

Risposte:


0

Per impostazione predefinita, su un sistema Linux senza regole di associazione udev specifiche per rinominare il dispositivo in qualcosa di non standard, il driver FTDI dovrebbe mappare la porta USB su seriale su / dev / ttyUSB * e non su / dev / ttbACM *. Ho il sospetto che stavi solo cercando nel posto sbagliato. Penso che per impostazione predefinita sia / dev / ttyUSB * per qualsiasi dongle da USB a seriale:

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

Per assicurarti di cercare nel file di dispositivo corretto, esegui "sudo dmesg -C" prima di collegare Arduino e successivamente "sudo dmesg" per vedere dove era collegato il convertitore da USB a seriale. Dovresti vedere un messaggio molto simile a questo: convertitore ch341-uart ora collegato a ttyUSB0 dove il ch341-uart è sostituito da quello che ha il tuo arduino (molto probabilmente FT232'ish)
louigi600

Questo probabilmente non è applicabile. Le rivendicazioni pubblicare stia usando un'ONU R3, che non ha un FTDI ma dispone di un'implementazione seriale USB personalizzate in ATmega16U2 che sarà mappare come dispositivo ttyACM non un ttyUSB uno - che capita solo sulle schede che utilizzano altre soluzioni seriali USB, come i vecchi Arduinos e cloni assortiti e compatibili.
Chris Stratton,

Ok ma continuando a fare dmesg ti dirà quale è il dispositivo corretto che Linux sta assegnando all'Arduino .... non mostrerà ch340 o FT * .... ma riporterà comunque qual è il file speciale del personaggio assegnato in / dev.
louigi600,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.