Hi
Hab ein Verständnisproblem von Rückgabewert einer Funktion
in einer H-Datei wird u.a. folgendes definiert:
extern TDDLL_ReturnType TDDLL_GetClusterTime(
TDDLL_ControllerIDXType nCtrlIDX,
TDDLL_TickType *pClusterTime,
TDDLL_TickType *pCommCycleLength,
TDDLL_CycleType *pCommCycle
);
in der dazugehörigen C-Datei wird das dann in einer ISR so aufgerufen:
__interrupt void IsrReloadTimer2(void)
{
TDDLL_GetClusterTime(0, &nTime, &nLength, &nCycle);
....
}
Die Frage ist nun, wie das geht? Laut H-Datei liefert die Fkt ja was
zurück.
Wie kann man das dann "nur so" in der ISR schreiben?
In C musst du den Return Wert nicht empfangen. Du kannst ihn auch ganz einfach als Aufrufer ignorieren.
C ist so aufgebaut, daß sämtliche Ausdrücke einen Wert haben, den man weiter zuweisen oder verwenden kann oder auch nicht. Es ist allerdings verpönt "a = b = c" zu schreiben, da es in der Regel die Lesbarkeit verringert (es bedeutet nicht unbedingt a = c !). Peter
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.