использовать другой последовательный порт для отправки данных из Arduino на обработку - PullRequest
0 голосов
/ 08 июля 2019

Мне нужно использовать другой последовательный порт для отправки данных из Arduino Teensy на обработку, поскольку серийный номер по умолчанию (Serial.begin (9600)) уже используется для большой программы

Я пытаюсь прочитать справку о том, как, возможно, я могу изменить серию, которую я хочу получить (https://processing.org/reference/libraries/serial/Serial.html),, но я не думаю, что это может быть изменено

void setup() {
  Serial.begin(115200); // already used 
  Serial2.begin(9600); // processing
}
void loop() {
  Serial.println("...") //big code that i am not allow to change
  Serial2.println("hello world");
  delay(1000);
}

Я ожидал, что получу «привет мир» в моей обработке многократно, но я действительно не имею ни малейшего представления, как написать код, чтобы я мог получить значение из Serial2 вместо из Serial

1 Ответ

0 голосов
/ 09 июля 2019

Это зависит от того, какой модуль Teensy вы используете, и от того, как вы проводите проводку.

Более подробную информацию см. В статье Использование Teensy аппаратных последовательных портов .

Если возможно, я бы попробовал их пример UART / USB:

// set this to the hardware serial port you wish to use
#define HWSERIAL Serial1

void setup() {
    Serial.begin(9600);
        HWSERIAL.begin(9600);
}

void loop() {
        int incomingByte;

    if (Serial.available() > 0) {
        incomingByte = Serial.read();
        Serial.print("USB received: ");
        Serial.println(incomingByte, DEC);
                HWSERIAL.print("USB received:");
                HWSERIAL.println(incomingByte, DEC);
    }
    if (HWSERIAL.available() > 0) {
        incomingByte = HWSERIAL.read();
        Serial.print("UART received: ");
        Serial.println(incomingByte, DEC);
                HWSERIAL.print("UART received:");
                HWSERIAL.println(incomingByte, DEC);
    }
}

Если это касается одного и того же USB-соединения в одно и то же время, договоритесь со своим коллегой, чтобы вы могли использовать более простой, которыйпросто отображается как другой последовательный порт в обработке.

Если это не вариант:

  1. дважды проверьте распиновку статьи последовательных портов выше, а также напряжение логического уровня (например, может3,3 В, а не 5 В)
  2. получить последовательный преобразователь USB (для правильного логического уровня) - он будет отображаться как другой последовательный порт, используя для обработки Serial.list()
  3. connect Serial2TX прикрепляет к выводу RX преобразователя и считывает данные в обработке (аналогично тому, как вы читаете Serial, просто другое имя порта)
...