Добрый вечер! Собираю цветомузыку. При компиляции скетча выскакивает: класс Udp переименован в EthernetUdp. Подскажите, как решить вопрос? Скетч: Код (C++): #include <SPI.h> #include <Ethernet.h> #include <Udp.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte ip[] = { 192,168,1,177 }; //IP ардуины unsigned int localPort = 53412; // локальный порт byte remoteIp[4]; unsigned int remotePort; // буфер для приёма/отправки данных char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //буфер для получения данных по сети void setup() { Ethernet.begin(mac,ip); Udp.begin(localPort); for (int i=0; i<10; i++) { pinMode(i,OUTPUT); digitalWrite(i, LOW); } } void loop() { // читаем пакеты данных при наличии int packetSize = Udp.available(); if(packetSize) { memset(packetBuffer, 0, sizeof(packetBuffer)); //обнуляем буфер packetSize = packetSize - 8; // subtract the 8 byte header Udp.readPacket(packetBuffer,UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort); for (int i=0; i<10; i++) { if (packetBuffer[i]=='1') { digitalWrite(i,HIGH); } else { digitalWrite(i,LOW); } } } //if(packetSize) }
Получится, почему нет. Только я так понимаю, что это часть какого-то обучения. а учиться лучше по современным материалам, не усложняя себе задачу.
Библиотека "Ethernet" содержит класс "EthernetUdp". Попробуйте поменять "#include <Ethernet.h>" и "#include <Udp.h>" местами, может поможет. На крайний случай, замените "Udp.h" на "EthernetUdp.h". Пример использования можно глянуть в "UDPSendReceiveString.ino"