Com port, обмен данными

Тема в разделе "Arduino & Shields", создана пользователем dumpase, 23 апр 2020.

  1. dumpase

    dumpase Нуб

    Привет знатоки! Подскажите, я не могу добиться чтобы с ком порта приходили данные. В каком формате их правильно отправлять или кодировке? Мне нужен текст. отправляю из среды nodejs строчку, на стороне ардуино делаю проверку, если есть буфер в порту то вернуть количество байт. Но условие даже не срабатывает, потому как данные походу или не доходят... или не доходят)
    Несколько раз получилось каким то образом принять данные, и на этом все. из ноды отправляю или просто строку в ascii или hex число 10. сответственно должен вернуть 2 байта. Пробывал ставить в конце перевод строки \n но не помогает.
     
  2. Navigator

    Navigator Нуб

    Причин может быть много. Для чтения порта в ардуино использую следующую конструкцию:
    Код (C++):

    byte RXmessage [16];                // Массив для хранения полученных данных
    ***
    if (Serial.available()) {          // Если в буфере порта есть данные заполняем массив
        for (i = 0; i < 16; i = i + 1) { //Заполняем массив полученными данными
          delay(16);
          RXmessage[i] = Serial.read();
        }
    100% рабочая для приёма 16 знаков. Попробуйте её, и с задержкой отправьте полученные данные обратно на порт, если нет результат, значит проблема со стороны компьютера и вашей программы.
     
    Последнее редактирование: 23 апр 2020