我正在尝试发送一个UDP数据包,但是卡在不同数据类型之间的连接上,并且不知道如何解决它。
代码:
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
WiFiUDP Udp;
const char* UdpIPaddress = "192.168.0.240";
unsigned int UdpPort = 4210;
const char* Udpmessage = "Message";
int a=0;
float Temp=29.25;
void setup() {
Serial.begin (115200);
}
void loop() {
if(a==0){
a = a + 1;
const char* sendmessage = const char*(a) + "=" + const char*(Temp) + "=" + Udpmessage;
UdpSend(sendmessage, UdpIPaddress, UdpPort);
}
}
void UdpSend(const char* message, const char * ipaddress, int port){
Serial.println("Send message: ");
Udp.beginPacket(ipaddress, port);
Udp.write(message);
Udp.endPacket();
}
Arduino IDE编译器错误:在'const'之前的主要表达式
请帮助...
答案 0 :(得分:-1)
找到了我自己的问题的答案:
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
WiFiUDP Udp;
const char* UdpIPaddress = "192.168.0.240";
unsigned int UdpPort = 4210;
char buf[40];
const char* Udpmessage = "Message";
int a=0;
float Temp=29.25;
void setup() {
Serial.begin (115200);
}
void loop() {
if(a==0){
a = a + 1;
sprintf(buf, "%d=%f=%s", a,Temp, Udpmessage);
UdpSend(buf, UdpIPaddress, UdpPort);
}
}
void UdpSend(const char* message, const char * ipaddress, int port){
Serial.println("Send message: ");
Udp.beginPacket(ipaddress, port);
Udp.write(message);
Udp.endPacket();
}
完美运行:) :):)