Arduino Mega, как считать данные с Serial1 и отправить в Serial2?

Тема в разделе "Arduino & Shields", создана пользователем MaxShadow, 8 апр 2015.

  1. MaxShadow

    MaxShadow Нуб

    Доброго времени суток.
    У нас на работе стоит аналоговый турникет, т.е управляет им вахтер.
    Но руководство хочет регистрировать приход сотрудников на работу. Программная часть реализована полностью, а с железом половина.
    По быстрому решил делать на Arduiono Mega (когда-то хотел освоить), а для считывания нашел считыватель ipr-6 (уровень RX/TX 5v), который есть в наличии и с достаточном количестве карточек.
    До компа 15 метров, спаял шилд для подключения Arduino к компьютеру через RS232 и реле для открытия турникета. Подключил, могу программно открыть турникет, правда преобразователь подключал к Serial0.
    Проблема с которой столкнулся: как передать код карточки со считывателя (который подключен к Serial1 (RX1/TX1)) в Serial2 (RX2/TX2)).
     
  2. MaxShadow

    MaxShadow Нуб

    Или никто не знает, или у нас работают?
     
  3. X-Dron

    X-Dron Гик

    Проблем вообще нет, надеюсь идею поймете
    Код (Text):
        String message;
     
        void setup()
        {
          Serial1.begin(115200);
          Serial2.begin(115200);
        }
     
        void loop()
        {
          while (Serial1.available() && Serial2.available()) {
            char incomingChar = Serial1.read();
            if (incomingChar >= '0' && incomingChar <= '9') {
              message += incomingChar;
            } else if (incomingChar == '\n') {
              Serial2.println(message);
              message = "";
            }
          }
        }
     
    MaxShadow нравится это.
  4. Unixon

    Unixon Оракул Модератор

    Зачем так сложно?
    Код (Text):

    while (Serial1.available()) Serial2.write(Serial1.read());
     
     
    MaxShadow и X-Dron нравится это.