Bonjour
Je sais, on en trouve plein internet de ces cas d'erreur mais je ne trouve pas...
extrait du code:
char DayName[] = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"};
Serial.println(DayName[&timeinfo, "%w"]);
le message d'erreur:
C:\Users\simon\Documents\Arduino\codes\Accentra\ntp\ntp.ino: In function 'void printLocalTime()':
C:\Users\simon\Documents\Arduino\codes\Accentra\ntp\ntp.ino:56:90: error: too many initializers for 'char []'
char DayName[] = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"};
^
C:\Users\simon\Documents\Arduino\codes\Accentra\ntp\ntp.ino:57:39: error: invalid types 'char [9][const char [3]]' for array subscript
Serial.println(DayName[&timeinfo, "%w"]);
^
exit status 1
Compilation error: too many initializers for 'char []'
Pour aller plus loin, le code entier:
#include <WiFi.h>
#include "time.h"
const char* ssid = "Livebox-";
const char* password = "abracadabra";
const char* ntpServer = "ntp.sophia.cnrs.fr";
const long gmtOffset_sec = 3600 ; //heure Fr
const int daylightOffset_sec = 3600;
void setup(){
Serial.begin(115200);
// Connect to Wi-Fi
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected.");
// Init and get the time
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
printLocalTime();
//disconnect WiFi as it's no longer needed
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
}
void loop(){
delay(1000);
printLocalTime();
}
void printLocalTime(){
struct tm timeinfo;
if(!getLocalTime(&timeinfo)){
Serial.println("Failed to obtain time");
return;
}
Serial.println(&timeinfo, "%A");
// String aujour;
// if ((&timeinfo, "%A")=="Monday"){aujour="Lun";}
// if ((&timeinfo, "%A")=="Tuesday"){aujour="Mar";}
// if ((&timeinfo, "%A")=="Wednesday"){aujour="Mer";}
// if ((&timeinfo, "%A")=="Thu"){aujour="Jeu";}
// if ((&timeinfo, "%A")=="Fri"){aujour="Ven";}
// if ((&timeinfo, "%A")=="Sat"){aujour="Sam";}
// if ((&timeinfo, "%A")=="Sun"){aujour="Dim";}
// Serial.println(aujour);
char DayName[] = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"};
Serial.println(DayName[&timeinfo, "%w"]);
Serial.println(&timeinfo, "%R");
if((&timeinfo, "%R")<"12:00"){Serial.println("c'est le matin");}
else{Serial.println("Apres midi");}
}