Parece que não consigo receber dados no monitor serial do ArduinoStudio no ubuntu 14.04 [fechado]


11

Estou usando o Arduino Starter Kit para ter um Uno R3 e, passando pelos exemplos, estou tentando ler os dados de temperatura do meu controlador no Arduino Studio.

Em essência, meu problema pode ser reduzido a

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

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

O que eu esperaria continuar imprimindo "coisas" no monitor serial.

(Na prática, estou executando esse código exato, mas toda a leitura da temperatura parece irrelevante para o meu problema, estou apenas mencionando, porque posso observar que meus LEDs acendem quando a temperatura aumenta, então eu sei que o código foi carregado e rodando no Duo).

Não estou vendo nenhum erro no console do estúdio e, se eu conectar usando gtktermou screenconsigo ver dados sendo enviados, o problema parece estar isolado no próprio monitor serial do AndroidStudio.

Estou executando o Ubuntu 14.04 e estou conectado via USB /dev/ttyACM3.

Eu tentei correr

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

como sugerido aqui e também tentei com o baud 115200, tendo o cuidado de também alterar o valor em minha setupfunção.

Eu também corri

chmod a + rw / dev / ttyACM3

Mas ainda não estou vendo nenhum erro ou saída. Como proceder para depurar esse problema?

Correr ls -l /dev/ttyACM*

crw-rw ---- 1 discagem raiz 166, 0 fev. 20 14:22 / dev / ttyACM0

crw-rw ---- 1 discagem raiz 166, 1 fev. 20 14:22 / dev / ttyACM1

crw-rw ---- 1 discagem raiz 166, 2 fev. 20 14:22 / dev / ttyACM2

crw-rw-rw- 1 discagem raiz 166, 3 fev. 20 14:30 / dev / ttyACM3


1
Teste o GtkTerm ou o PuTTY.
Mikael Patel

@MikaelPatel Obrigado, isso deve me ajudar a isolar o problema, pelo menos :)
ivarni

1
Qual é o resultado de "ls -l / dev / ttyACM *"?
Avamander

2
Tente colocar a string "stuff" entre aspas duplas, em vez de aspas simples.
Avamander

1
Estou votando para encerrar esta antiga questão não resolvida porque o autor da pergunta comenta nos comentários que "não sou o dono do arduino ou do computador que estava usando mais", o que significa que será impossível resolver definitivamente esse problema.
Chris Stratton

Respostas:


0

Por padrão, em um sistema Linux sem regras específicas de ligação ao udev para renomear o dispositivo para algo fora do padrão, o driver FTDI deve mapear o usb para a porta serial em / dev / ttyUSB * e não para / dev / ttbACM *. Eu suspeito que você estava apenas procurando no lugar errado. Eu acho que o padrão é / dev / ttyUSB * para qualquer usb para dongle serial:

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

Para ter certeza de que você está procurando no arquivo de dispositivo correto, execute "sudo dmesg -C" para conectar o Arduino e, posteriormente, apenas 'sudo dmesg "para ver onde o conversor USB para serial foi conectado. mensagem muito parecida com esta: conversor ch341-uart agora anexado ao ttyUSB0, onde o ch341-uart é substituído pelo que o seu arduino possui (provavelmente o FT232'ish)
louigi600

Provavelmente isso não é aplicável. As reivindicações postais a serem usando um Uno R3, que não tem um FTDI mas tem uma implementação de série personalizado USB em um ATmega16u2 que vai mapear como um dispositivo ttyACM não um ttyUSB um - que só acontecem em placas que utilizam outras soluções de série USB, como Arduinos mais antigos, clones e compatíveis variados.
Chris Stratton

Ok, mas continuar fazendo o dmesg, dirá qual é o dispositivo correto que o linux está atribuindo ao arduino .... não mostrará ch340 ou FT * .... mas ainda informará qual é o arquivo especial do caractere atribuído em / dev.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.