EthernetUDP.read()

[Ethernet]

描述

Reads UDP data from the specified buffer. If no arguments are given, it will return the next character in the buffer.

This function can only be successfully called after Udp.parsePacket().

語法

// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;

Udp.read();
Udp.read(packetBuffer, MaxSize);

參數

  • packetBuffer: buffer to hold incoming packets (char)
  • MaxSize: maximum size of the buffer (int)

回傳

char: returns the characters in the buffer

範例

#include <Ethernet.h>
#include <EthernetUdp.h>
 
// Enter an IP address for your controller below.
// The IP address will be dependent on your local network:
IPAddress ip(192, 168, 1, 177);
 
unsigned int localPort = 8888;      // local port to listen on
 
// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;
 
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
 
void setup() {
  // start the Ethernet and UDP:
  Ethernet.begin(NULL,ip);
  Udp.begin(localPort);
}
 
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[i], DEC);
      if (i < 3)
      {
        Serial.print(".");
      }
    }
    Serial.print(", port ");
    Serial.println(Udp.remotePort());
 
    // read the packet into packetBufffer
    Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
    Serial.println("Contents:");
    Serial.println(packetBuffer);
  }
}

函式庫參考主頁面

86Duino 參考的文本是根據 Creative Commons Attribution-ShareAlike 3.0 License,部分文本是從 the Arduino reference 修改的。 參考中的代碼示例已發佈到公共領域。

發表評論

上部へスクロール