Вопрос по проекту "Карта офисной активности"

Тема в разделе "Флудилка", создана пользователем DrProg, 3 фев 2016.

  1. DrProg

    DrProg Вечный нерд

    У ведущего передача массива byte msg[4] в RS485 осуществляется так:
    Код (C++):
    Serial1.write((const byte*)msg, 4);
    а у ведомого так:
    Код (C++):
    Serial.write(msg, 4);
    В этой разнице есть какой то смысл или это два варианта одного и того же?
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    Nope. Это одно и то же. В первом случае — явный каст (преобразование типов), во втором неявный: компилятор сделает то же самое за нас.
     
    DrProg нравится это.
  3. DrProg

    DrProg Вечный нерд

    Спасибо. А вообще сложилось легкое ощущение, что мастера и ведомого писали разные люди. Оба, без сомнения, грамотные. Например, считывание данных из порта в массив со сдвигом у ведомого:
    Код (C++):
           for(i = 0; i < MSG_LEN-1; i++)
                msg[i] = msg[i+1];
            msg[MSG_LEN-1] = Serial.read();
    и ведущего:
    Код (C++):
                imsg[0] = imsg[1];
                imsg[1] = imsg[2];
                imsg[2] = imsg[3];
                imsg[3] = Serial1.read();
    В целом, очень полезный пример для организации сети между устройствами. Осталось допилить чтобы любой узел мог передавать данные любому узлу. Идеи на этот счет уже есть.
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    Приёмник писал наш Артём во вторник, а передатчик — в среду :)
     
  5. DrProg

    DrProg Вечный нерд

    Вот как время меняет людей! :eek:
     
    Kopilov нравится это.