uwe223 hat geschrieben:
Kannst du mir noch einen Tipp geben an welcher Stelle die Information gespeichert ist, ich komme da nicht drauf.
Klar. Kennst du
http://www.auto.tuwien.ac.at/~mkoegler/eib/doc/bcu1help.pdf ?
Bin mir jetzt nicht sicher ob ich dir das Dokument schon einmal genannt habe. Unter CommsTabPtr (Seite 49) findest du den Aufbau der Com Objekte. Im Object-Descriptor steht die Adresse wo die Daten im RAM liegen.
Die Debug Variante der Lib gibt zum Start nähere Infos zu den Objekten aus:
Beispiel:
Code:
...
COMM:14
O00F9FP54T00L00
O01FDFP55T00L00
O02F97P56T00L00
O03F97P57T00L00
O04F93P58T00L00
O05F93P59T00L00
.....
Dabei gilt folgender Aufbau:
OaaFbbPxxTyyLzz
aa: Obj Nummer
bb: Flags
xx: Pointer <----- das suchst du
yy: Type
zz: Länge der Daten
Zitat:
Das hört sich ja auch sehr interessant an, die Funktion kann ich aber auch nicht finden

.
Sollte die nicht hier mit auftauchen(Auszug aus der fb_lib.h):
Ahhh. Stimmt. Keine Ahnung warum die fehlt. Habe ich gerade hinzugefügt.
Macht intern folgendes:
Code:
/
uint8_t TestAndCopyObject (uint8_t objectNr, void* dst, uint8_t len)
{
if (getupdateramflag(objectNr)) {
/* copy data */
CopyfromObj(dst, len , objectNr);
/* clear flag */
setramflag(objectNr, 0);
return TRUE;
} else {
return FALSE;
}
}
Viele Grüße
Dirk