新手求助,通过udp控制LED
哪位高手帮忙看看,哪里不对,led没反应,但是串口能收到消息#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
byte mac[] = {
0xde, 0xad, 0xef, 0xee, 0x01};
IPAddress ip(192, 168, 1, 50);
unsigned int localPort = 8888;
char packetBuffer;
String packet;
EthernetUDP Udp;
const int ledPin = 13;
int ledState = LOW;
void setup()
{
Ethernet.begin(mac, ip);
Udp.begin(localPort);
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop()
{
int packetSize = Udp.parsePacket();
if (packetSize)
{
Serial.print("Received packet of size ");
Serial.println(packetSize);
Serial.print("From ");
IPAddress remote = Udp.remoteIP();
for (int i = 0; i<4; i++)
{
Serial.print(remote,DEC);
if (i<3)
{
Serial.print(".");
}
}
Serial.print(",port ");
Serial.println(Udp.remotePort());
//read the packet into puacketBuffer
Udp.read(packetBuffer,10);
Serial.println("Contents:");
//Serial.println(packetBuffer);
packet = packetBuffer;
int led = packet.indexOf("LED");
if(packet.substring(led,led+8) == "LEDPOWER")
{
digitalWrite(ledPin,HIGH);
// ledState = HIGH;
Serial.println("LEDPOWER");
// delay(1000);
}
else if (packet.substring(led,6) == "LEDOFF")
{
digitalWrite(ledPin,LOW);
// ledState = LOW;
Serial.println("LEDOFF");
// delay(1000);
}
}
delay(10);
} 自己搞定了“const int ledPin = 13;”中的13改8后可用了。 {:soso_e103:}原来是端口冲突了。。。
页:
[1]