Ожидаемое первичное выражение перед const - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь отправить один 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 голосов
/ 24 декабря 2018

Нашел ответ на свой вопрос:

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

Работает отлично :) :):)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...