Как скрыть команды Serial.write на последовательном мониторе Arduino?

ну, я пытаюсь сделать запрос и ответить для arduino. Существует множество запросов с командой serial.write. из-за этих последовательных команд мой последовательный монитор показывает тонны нематериальных символов. такие, как:

возможно ли это скрыть "⸮3⸮

это образец моих кодов

Serial.write(0xaa); // packet head
Serial.write(0x3e); // VP_N16 read command
Serial.write(0x00); // VP_N16 address
Serial.write(0x08);
Serial.write(0x00);
Serial.write(0x02);
Serial.write(0xcc); // packet tail
Serial.write(0x33); // packet tail
Serial.write(0xc3); // packet tail
Serial.write(0x3c); // packet tail

Я не хочу видеть, что отправляют "serial.write". только я хочу видеть выходные данные serial.print.

, 👍-2

Обсуждение

удалите команды Serial.write, @jsotola

напишите последовательный монитор с помощью обработки ... https://processing.org/ ... программная обработка для отображения только строк, начинающихся со специального символа ... запускайте все последовательные.печатайте строки со специальным символом, @jsotola

используйте другой последовательный интерфейс для одного из выходов, чтобы не отправлять отладочные отпечатки на устройство и данные на последовательный монитор., @Juraj

Похоже, вы пытаетесь использовать один последовательный порт для двух разных целей. Ты не можешь. Либо используйте его для отправки ваших пакетов*, либо* используйте его для печати отладочной информации - не и то, и другое. Для того и другого вам нужен второй последовательный порт - либо реальный от MCU, у которого более одного последовательного порта (или собственный USB-порт), либо сделайте его с помощью " SoftwareSerial`., @Majenko


1 ответ


1

Серийный.<anyKindOfOutput><anyKindOfOutput> все идет в терминал. Поэтому, не зная больше о вашем приложении, я могу только догадываться, но вы могли бы:

  1. Закомментируйте Serial.write()ы.
  2. Окружите функции Serial.write()символами #ifdef и #endif.
  3. Поместите функции Serial.write()в блок if (), управляющее выражение которого будет истинным только в том случае, если вам нужно, чтобы функции Serial.write()были активны.

Варианты 1 и 2 предназначены только для отладки; код внутри них никогда не будет выполнен. Вы можете использовать вариант 3, чтобы заставить свой код подавлять вызовы .write, когда они были бы неуместны, и выполнять их в противном случае.

,