Кажется, я не могу получить данные на последовательный монитор ArduinoStudio в Ubuntu 14.04 [закрыто]


11

Я использую Arduino Starter Kit, поэтому у меня есть Uno R3 и, просматривая примеры, я пытаюсь прочитать данные о температуре с моего контроллера в Arduino Studio.

По сути, моя проблема может быть сведена к

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

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

Который я бы ожидал продолжать печатать «вещи» на последовательном мониторе.

(На практике я использую этот точный код, но все показания температуры не имеют отношения к моей проблеме, я просто упоминаю об этом, потому что могу наблюдать, как мои светодиоды загораются при повышении температуры, поэтому я знаю, что код загружен и работает на дуэте).

Я не вижу никаких ошибок в консоли студии, и если я подключаюсь с помощью gtktermили screenвижу данные, отправляемые, поэтому проблема, похоже, изолирована от самого последовательного монитора AndroidStudio.

Я использую Ubuntu 14.04 и подключился через USB /dev/ttyACM3.

Я пробовал бегать

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

как предложено здесь, и я также попытался с бод 115200, позаботившись также изменить значение в моей setupфункции.

Я тоже побежал

chmod a + rw / dev / ttyACM3

Но я все еще не вижу никаких ошибок или выходных данных. Как мне приступить к устранению этой проблемы?

Бег ls -l /dev/ttyACM*дает

crw-rw ---- 1 root dialout 166, 0 фев. 20 14:22 / dev / ttyACM0

crw-rw ---- 1 root dialout 166, 1 фев. 20 14:22 / dev / ttyACM1

crw-rw ---- 1 root dialout 166, 2 фев. 20 14:22 / dev / ttyACM2

crw-rw-rw- 1 корневой набор 166, 3 фев. 20 14:30 / dev / ttyACM3


1
Проверьте GtkTerm или PuTTY.
Микаэль Патель

@MikaelPatel Спасибо, это должно помочь мне, по крайней мере, изолировать проблему :)
ivarni

1
Что выводит "ls -l / dev / ttyACM *"?
Avamander

2
Попробуйте поместить строку «материал» в двойные кавычки вместо одинарных.
Avamander

1
Я голосую, чтобы закрыть этот старый нерешенный вопрос, потому что спрашивающий сообщает в комментариях, что «у меня нет ни самого arduino, ни компьютера, которым я больше пользуюсь», что означает, что невозможно окончательно решить эту проблему.
Крис Страттон

Ответы:


0

По умолчанию в системе Linux без специальных правил привязки udev для переименования устройства во что-то нестандартное драйвер FTDI должен отображать usb на последовательный порт в / dev / ttyUSB *, а не в / dev / ttbACM *. Я подозреваю, что вы просто искали не в том месте. Я думаю, что по умолчанию / dev / ttyUSB * для любого USB к последовательному ключу:

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

Чтобы убедиться, что вы ищете правильный файл устройства, запустите «sudo dmesg -C», чтобы подключить Arduino, а затем просто «sudo dmesg», чтобы увидеть, где был подключен конвертер usb в последовательный порт. сообщение выглядит примерно так: конвертер ch341-uart теперь подключен к ttyUSB0, где ch341-uart заменяется тем, что есть у вашего arduino (скорее всего FT232'ish)
louigi600

Это, вероятно, не применимо. В посте утверждается, что используется Uno R3, который не имеет FTDI, а скорее имеет собственную последовательную реализацию USB в ATmega16u2, которая будет отображаться как устройство ttyACM, а не как ttyUSB - что происходит только на платах, использующих другие последовательные решения USB, как старые Arduinos и разные клоны и совместимые.
Крис Страттон

Хорошо, но если вы все же выполните команду dmesg, вы узнаете, какое устройство Linux назначает для arduino .... оно не будет отображать ch340 или FT * .... но оно все равно сообщит, что является специальным файлом назначенного символа. в / дев.
louigi600
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.