Thank you so much! That worked. I am also receiving the message on the other NUCLEO with
#include “mbed.h”
#include “EthernetInterface.h”
DigitalOut led1(LED1);
DigitalOut led2(LED2);
// Static IP network variables
//static const char* mbedIP = “192.168.1.45”; //IP
static const char* mbedIP = “192.168.1.212”; //IP
static const char* mbedMask = “255.255.255.0”; // Mask
static const char* mbedGateway = “192.168.1.254”; //Gateway
static const char* recvIP = “192.168.1.38”;
const int PORT = 80; //Port used for UDP communication
EthernetInterface eth; //Ethernet interface
int main()
{
int code; eth.set_network(recvIP, mbedMask, mbedGateway); printf("UDP Socket example\n"); //SocketAddress sockAddr(recvIP, NSAPI_IPv4, PORT); // wrong SocketAddress sockAddr; SocketAddress remoteSockAddr(mbedIP, PORT); if (eth.connect() != 0) { printf("Unable to connect to the Ethernet.\r\n"); return -1; } eth.get_ip_address(&sockAddr); printf("IP address is: %s\n", sockAddr.get_ip_address() ? sockAddr.get_ip_address() : "No IP"); UDPSocket td_sock; td_sock.open(ð); code = td_sock.bind(PORT); printf("%d\r\n",code); //code = td_sock.getpeername(&sockAddr); td_sock.set_timeout(3000); while (true) { char in_buff[25]; code = td_sock.recvfrom(&remoteSockAddr, &in_buff, sizeof(in_buff)); //code = td_sock.recv(&in_buff, sizeof(in_buff)); printf("%d\r\n",code); printf("%u, %u, %u,\r\n",in_buff[0],in_buff[1], in_buff[2]); led2 = !led2; //ThisThread::sleep_for(500ms); }}