Связь между MCU и MCU через UART

Как лучше всего отправить следующую информацию из одного MCU в другой?

Теперь я просто отправляю предложение как есть, например. Serial.print(предложение здесь)

Пример предложения: 1306,60.123456,50.123456,23.765382,40.897558,245,85,20.3,5,65,1500,0,9

Большое спасибо.

, 👍0


1 ответ


Лучший ответ:

1

На самом деле это зависит от ваших требований, что является «лучшим».

Если скорость (передачи) является проблемой, есть несколько вещей, которые вы можете сделать, чтобы улучшить ее:

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

О третьем варианте: поскольку вы в основном отправляете значения, вы можете внести некоторые улучшения. Таким образом, вы можете отправить их как float (отправив данные с плавающей запятой с длиной sizeof (float)). Однако обратите внимание, что последняя цифра может быть неточной.

,

Сейчас у меня скорость 9600 бод, и я хочу добиться меньшего эфирного времени. Как можно упаковать значения?, @user3635319

Например, как я уже сказал, вместо serial.print отправьте его как число с плавающей запятой., @Michel Keijzers

используя Serial.print(floatVariable);, @Michel Keijzers

И увеличить последовательную скорость до 115200, будет в 12 раз быстрее., @CrossRoads

@CrossRoads, если позволяет шум/расстояние, это простое улучшение, @Michel Keijzers