У ведущего передача массива byte msg[4] в RS485 осуществляется так: Код (C++): Serial1.write((const byte*)msg, 4); а у ведомого так: Код (C++): Serial.write(msg, 4); В этой разнице есть какой то смысл или это два варианта одного и того же?
Nope. Это одно и то же. В первом случае — явный каст (преобразование типов), во втором неявный: компилятор сделает то же самое за нас.
Спасибо. А вообще сложилось легкое ощущение, что мастера и ведомого писали разные люди. Оба, без сомнения, грамотные. Например, считывание данных из порта в массив со сдвигом у ведомого: Код (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(); В целом, очень полезный пример для организации сети между устройствами. Осталось допилить чтобы любой узел мог передавать данные любому узлу. Идеи на этот счет уже есть.