Uhrzeit NTP Client erweitern + als Class schreiben??
hallo,
ich beschäftige mich erst seit kurzem mit dem arduino und damit mit c. wir haben in der schule ein großes projekt in einzelne gruppen gegliedert und dann einzelne schülergruppen aufgeteilt, deshalb wurde von meinem lehrer gefordert alle "teil programme" als class oder function zu schreiben um sie möglichst einfach in das main programm einzubinden.
nun wie im subject beschrieben habe ich als einen teil die aufgabe die uhrzeit und das datum als ntp client zu empfangen.
im arduino gibt es unter examples das beispiel udpntpclient damit empfange ich auch die uhrzeit.
frage 1: kann ich diese um das datum erweitern? wenn ja, wie?
nun wollte ich mir es einfach machen wie möglich und dieses beispiel etwas umschreiben und damit eine class erstellen.
habe mir gedacht ich packe das alles in eine methode, welche ich einfach update nennen wollte. in dieser methode schreibe ich mir dann stunde, minute, sekunde etc. in eine variable.
dann nutze ich andere methoden um einfach die variable zu bekommen.
jetzt stoße ich aber auf folgendes problem. im example ist unter dem main programm eine funktion programmiert welche ich einfach nicht in die .cpp datei oder .h datei reinbekomme. bekomme immer fehler in der ausgabe.
frage 2: warum kann ich diese funktion nicht einfach in meine class kopieren? wie kann ich es besser/anders machen?
ich danke im vorraus.
mfg
ich beschäftige mich erst seit kurzem mit dem arduino und damit mit c. wir haben in der schule ein großes projekt in einzelne gruppen gegliedert und dann einzelne schülergruppen aufgeteilt, deshalb wurde von meinem lehrer gefordert alle "teil programme" als class oder function zu schreiben um sie möglichst einfach in das main programm einzubinden.
nun wie im subject beschrieben habe ich als einen teil die aufgabe die uhrzeit und das datum als ntp client zu empfangen.
im arduino gibt es unter examples das beispiel udpntpclient damit empfange ich auch die uhrzeit.
frage 1: kann ich diese um das datum erweitern? wenn ja, wie?
nun wollte ich mir es einfach machen wie möglich und dieses beispiel etwas umschreiben und damit eine class erstellen.
habe mir gedacht ich packe das alles in eine methode, welche ich einfach update nennen wollte. in dieser methode schreibe ich mir dann stunde, minute, sekunde etc. in eine variable.
dann nutze ich andere methoden um einfach die variable zu bekommen.
jetzt stoße ich aber auf folgendes problem. im example ist unter dem main programm eine funktion programmiert welche ich einfach nicht in die .cpp datei oder .h datei reinbekomme. bekomme immer fehler in der ausgabe.
code: [select]
// send ntp request time server @ given address
unsigned long sendntppacket(ipaddress& address)
{
// set bytes in buffer 0
memset(packetbuffer, 0, ntp_packet_size);
// initialize values needed form ntp request
// (see url above details on packets)
packetbuffer[0] = 0b11100011; // li, version, mode
packetbuffer[1] = 0; // stratum, or type of clock
packetbuffer[2] = 6; // polling interval
packetbuffer[3] = 0xec; // peer clock precision
// 8 bytes of 0 root delay & root dispersion
packetbuffer[12] = 49;
packetbuffer[13] = 0x4e;
packetbuffer[14] = 49;
packetbuffer[15] = 52;
// ntp fields have been given values, now
// can send packet requesting timestamp:
udp.beginpacket(address, 123); //ntp requests port 123
udp.write(packetbuffer,ntp_packet_size);
udp.endpacket();
}
frage 2: warum kann ich diese funktion nicht einfach in meine class kopieren? wie kann ich es besser/anders machen?
ich danke im vorraus.
mfg
bei fragen mit code bitte auch code tags verwenden damit man das vernünftig lesen kann.
weiterhin wäre es nett wenn du keine hellseherischen fähigkeiten unterstellst. wie sehen die fehler aus die du bekommst? kopier die doch bitte rein.
ausserdem finde ich es schräg ohne not auf globale variablen oder member variablen zu gehen wenn man die werte auch einfach direkt zurückgeben kann. es ist auch schräg, dass du eine funktion mit "unsigned long" rückgabewert deklarierst und dann kein return drin vorkommt.
weiterhin wäre es nett wenn du keine hellseherischen fähigkeiten unterstellst. wie sehen die fehler aus die du bekommst? kopier die doch bitte rein.
ausserdem finde ich es schräg ohne not auf globale variablen oder member variablen zu gehen wenn man die werte auch einfach direkt zurückgeben kann. es ist auch schräg, dass du eine funktion mit "unsigned long" rückgabewert deklarierst und dann kein return drin vorkommt.
Arduino Forum > International > Deutsch (Moderator: uwefed) > Uhrzeit NTP Client erweitern + als Class schreiben??
arduino
Comments
Post a Comment