Arduino - Как прочитать строку из последовательного порта

Я только недавно начал работать с Arduino, У меня просто быстрый вопрос, я пытался найти ответ, но потерпел неудачу в течение нескольких дней. По сути, я хочу спросить, есть ли способ прочитать целую строку из последовательного порта. Как линия, выделенная на картинке ниже.

Я пытаюсь использовать Bluesmirf Silver Rn-42 поиск в области устройства Bluetooth и запуск сигнала, если найден соответствующий адрес. Я просто не могу понять, как читать сообщения, которые уже находятся на последовательном порту.

2 ответа

Использование .readString()

Пример кода:

String myString;

void setup()
{
  Serial.begin(9600);
}
void loop() 
{  
  while (Serial.available()) 
  {
    myString = Serial.readString();
    //do stuff with the string
  }
}

Если вы хотите прочитать что-то, что уже находится в последовательном порту с конца Arduino, то вам нужно переосмыслить свой код. Все, что вы создадите в своем коде для печати на последовательном мониторе, уже будет в вашей программе готово к доступу, если вы сделаете его доступным правильно. Предоставленная вами примерная строка - это просто массив символов, которые вы можете сохранить в элементе массива, делая его доступным в любое время.

подсказки:

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

Однако, если вы хотите прочитать из COM порт, к которому подключен Arduino в Windows, тогда вам нужно будет работать с библиотеками Libusb, найденными здесь: http://www.libusb.org/ для C. Любой другой язык будет зависеть от библиотеки или импорта.

Другие вопросы по тегам