预期在'const'之前的主要表达式

时间:2018-12-24 16:19:01

标签: arduino

我正在尝试发送一个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'之前的主要表达式

请帮助...

1 个答案:

答案 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();
}

完美运行:) :):)