Мониторинг двух скоростей передачи
Я использую разные коды, которые устанавливают разные значения скорости передачи данных с помощью функции Serial.begin()
.
У меня есть Uno, использующий Serial.begin(9600)
, подключенный к модулю ESP8266 ESP-01
SoftwareSerial WiFiBoard(2, 3);
WiFiBoard.begin(115200)
Оба они печатают и читают из Serial, но когда я использую Arduino IDE Serial Monitor, я могу отображать только содержимое 9600
... Я где-то пропустил настройку ?
Кроме того, когда я настраиваю оба из них для использования скорости передачи данных 9600
, я по-прежнему вижу только информацию Uno
@Alucard, 👍0
Обсуждение1 ответ
Лучший ответ:
Ваш компьютер не может видеть, что происходит через последовательное соединение WiFiBoard, потому что это соединение не имеет ничего общего с соединением с вашим компьютером.
Если вы хотите, чтобы ваш компьютер видел, что принимается через этот порт, вы должны считать данные с этого порта, а затем отправить их на свой компьютер.
Разница в скорости передачи не имеет (большого) значения (только то, что если один из них отправляет слишком много данных слишком быстро, чтобы другой мог их переслать, вы потеряете часть данных).
Обычно используется что-то вроде:
while (WiFiBoard.available()) {
Serial.write(WiFiBoard.read());
}
Все, что получено от платы WiFi, будет перенаправлено через последовательный порт на компьютер.
- Отправка значений из arduino uno в wemos d1 r1
- ESP8266-01 неправильные настройки управления потоком
- Проблема с использованием PubSubClient, функция "обратный вызов" работает некорректно
- Как я могу изменить скорость передачи данных esp8266, так как я случайно изменил скорость передачи данных на что-то другое(чего я не помню)?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- AT-команда не отвечает на последовательный монитор
- Отправка данных Arduino в MySQL с помощью phpMyAdmin и XAMPP на Windows10
- Arduino выводит значения мусора на serial monitor с ESP8266
У вас не может быть двух разных скоростей передачи в одном и том же последовательном соединении. Это нелогично., @Majenko
Насколько я понимаю, при использовании библиотеки «SoftwareSerial» используется новое последовательное соединение., @Alucard
Это совершенно отдельное последовательное соединение. Ничего общего с последовательным монитором., @Majenko
Ой ! Теперь это имеет гораздо больше смысла... Итак, есть ли способ фактически контролировать две платы?, @Alucard
Ваш компьютер видит только то, что Arduino отправляет через «Serial». Если вы хотите, чтобы он увидел что-то откуда-то еще, вам нужно активно читать эти данные из этого «другого места» и отправлять их на свой компьютер через «Serial»., @Majenko
Теперь это имеет большой смысл. Так что я все еще могу выбрать другую скорость передачи данных для WiFiBoard, я все еще могу писать и читать с него, но для того, чтобы отобразить его на последовательном мониторе, мне нужно в основном
Serial.print( WiFiBoard.read())
?, @AlucardКороче говоря, да. Лучше:
пока (WiFiBoard.available()) { Serial.write(WiFiBoard.read()); }
, @MajenkoОтлично спасибо!, @Alucard