Ich bin auf der Suche durch eine Basis jemand anderen Code und ich sehe diese Funktion Prototyp:Wie wird dieses Strukturelement zu einer Funktion ohne Klammern ausgewertet?
void OnRxDone(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr);
Und es definiert ist, wie folgt:
void OnRxDone(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr)
{
Radio.Sleep();
BufferSize = size;
memcpy(Buffer, payload, BufferSize);
RssiValue = rssi;
SnrValue = snr;
State = RX;
}
Aber, es später in der Super-Schleife aufgerufen
RadioEvents.RxDone = OnRxDone;
wie auf der Erde, dass legal ist: von main
wie hier gezeigt? Diese Funktion erwartet einen Zeichenzeiger und drei Ints, aber es geht nichts und das funktioniert gut. Was geht hier vor sich?
Aktualisiert die Frage. – testname123
zurückgerollt. Sobald Sie eine Antwort erhalten haben, sollten Sie die Frage nicht ändern! Wir sind kein Diskussionsforum. Wenn Sie eine neue Frage haben, öffnen Sie eine neue Frage! Aber am besten wäre es, diese Grundlagen aus einem guten C-Buch zu bekommen. Bestimmte Fragen oder unstrukturierte Tutorials oder Youtube-Videos geben nicht das ganze Bild, wenn es nötig ist. – Olaf