Ich verstehe nicht ganz die Zuweisung: endPoint.APS_DataInd=APS_DataInd; APS_DataInd wird als Parameter des Endpoints definiert. Ist dies dann ein Callback-Funktions-Aufruf, der gleichzeitig ein Pointer ist? Ich verstehs leider nicht. Ich bin ein Microcontroller-Noob. Kann mir das vielleicht jemand erläutern? static void initEndpoint(void){ simpleDescriptor.AppDeviceId=1; simpleDescriptor.AppProfileId=1; simpleDescriptor.endpoint=1; simpleDescriptor.AppDeviceVersion=1; endPoint.simpleDescriptor=&simpleDescriptor; endPoint.APS_DataInd=APS_DataInd; APS_RegisterEndpointReq(&endPoint); } void APS_DataInd(APS_DataInd_t *indData){ BSP_OnLed(LED_RED); HAL_StartAppTimer(&receiverTimerLed); appWriteDataToUart(indData->asdu,indData->asduLength); appWriteDataToUart((uint8_t*)"\r\n",2); }
:
Bearbeitet durch User
Jan Schimmack schrieb: > APS_DataInd wird als Parameter des Endpoints definiert. Ist dies dann > ein Callback-Funktions-Aufruf, der gleichzeitig ein Pointer ist? Das ist einfach eine Zuweisung der Adresse von APS_DataInd an endPoint.APS_DataInd. Bei Funktionen kann man zur Adressbildung das & weglassen, genauso wie man bei einenm Funktionszeiger zum Aufuf das * weglassen kann.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.