Связь между MCU и MCU через UART
Как лучше всего отправить следующую информацию из одного MCU в другой?
Теперь я просто отправляю предложение как есть, например. Serial.print(предложение здесь)
Пример предложения: 1306,60.123456,50.123456,23.765382,40.897558,245,85,20.3,5,65,1500,0,9
Большое спасибо.
@user3635319, 👍0
1 ответ
Лучший ответ:
▲ 1
На самом деле это зависит от ваших требований, что является «лучшим».
Если скорость (передачи) является проблемой, есть несколько вещей, которые вы можете сделать, чтобы улучшить ее:
- Увеличить скорость передачи (зависит от расстояния между проводами и шума).
- Уменьшите стартовые/стоповые биты (это снижает уверенность в том, что значения будут получены правильно)
- Упакуйте свои данные (возможно, потребуется больше времени на обработку и больше работы по программированию, но может быть быстрее).
О третьем варианте: поскольку вы в основном отправляете значения, вы можете внести некоторые улучшения. Таким образом, вы можете отправить их как float (отправив данные с плавающей запятой с длиной sizeof (float)). Однако обратите внимание, что последняя цифра может быть неточной.
,
@Michel Keijzers
Смотрите также:
- Bluetooth-модуль HC-05 не принимает AT-команды
- Arduino продолжает зацикливаться
- Как разделить входящую строку?
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Ошибка "'Serial' does not name a type"
- Использование аналогового входа для чтения кнопки
- Преобразование строки в массив символов
- Какова максимальная длина провода для последовательной связи между двумя Arduino?
Сейчас у меня скорость 9600 бод, и я хочу добиться меньшего эфирного времени. Как можно упаковать значения?, @user3635319
Например, как я уже сказал, вместо serial.print отправьте его как число с плавающей запятой., @Michel Keijzers
используя Serial.print(floatVariable);, @Michel Keijzers
И увеличить последовательную скорость до 115200, будет в 12 раз быстрее., @CrossRoads
@CrossRoads, если позволяет шум/расстояние, это простое улучшение, @Michel Keijzers