EthernetUDP.write関数
beginPacket関数とendPacket関数の間にラップする必要があります。
beginPacket関数はデータのパケットを初期化し、endPacket関数が呼び出されるまで送信されません。
※1:EthernetUDPのクラスは、UDPメッセージの送受信が出来ます。
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
// 下のコントローラのMACアドレスとIPアドレスを入力します。
// IPアドレスはローカルネットワークに依存します。
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 177);
unsigned int localPort = 8888; // 待機するローカルポート
EthernetUDP Udp;// UDP経由でパケットを送受信できるようにするEthernetUDPインスタンス
void setup() { // イーサネットとUDPを開始します。
Ethernet.begin(mac,ip);
Udp.begin(localPort);}
void loop() {
Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
Udp.write("hello");
Udp.endPacket();}
#include <Ethernet.h>
#include <EthernetUdp.h>
// 下のコントローラのMACアドレスとIPアドレスを入力します。
// IPアドレスはローカルネットワークに依存します。
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 177);
unsigned int localPort = 8888; // 待機するローカルポート
EthernetUDP Udp;// UDP経由でパケットを送受信できるようにするEthernetUDPインスタンス
void setup() { // イーサネットとUDPを開始します。
Ethernet.begin(mac,ip);
Udp.begin(localPort);}
void loop() {
Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
Udp.write("hello");
Udp.endPacket();}
図2:プログラムの内容