Hi Habe mich schon seit Tagen mit der FAT auf MMC's herumgeschlagen. Dabei waren mir die Sourcen von Uli, Stefan usw. und die Einträge in diesem Forum eine grosse Hilfe. Herzlichen Dank an alle... Konnte bis jetzt die CSD / CID Daten problemlos auslesen und bin jetzt am lesen des MBR und VBR. Dabei habei ich folgendes festgestellt: Die Daten in meinem 512Byte Buffer sind alle nach dem Einlesen 1:1 vorhanden. (wie ich mit Winhex auch sehe) Dabei ist mir aber aufgefallen, dass bei den einzelnen Daten das LSB und MSB vertauscht ist(!) Dadurch ist es meiner Meinung nicht möglich, den Buffer einem Struct zu übergeben wie es im Source von Holger Klabunde gemacht wird. Ich erhalte aus disem Grund jeweils Variablen, die viel zu gross sind. Wenn ich die Daten einzeln aus dem Array auslese und verrechne stimmen die Werte. Was mache ich falsch??? Ich hoffe sehr, das mir jemand weiterhelfen kann. Im voraus herzlichen Dank. Gruss Andy
hast du auch das PACKED attribut genommen? Kann sein, dass das für deinen Compiler wichtig ist. #define PACKED __attribute__((packed)) typedef struct PACKED { ... } Blub; Was für einen controller/compiler benutzt du?
Hi Lupin Danke für Deine rasche Antwort. Ich benutze einen IAR Compiler für den Renesas Controller H8S/2378. Der Compiler kennt leider nur folgende Pragma Direktive: #pragma bitfields=reversed dabei werden aber nur Bits und keine Bytes vertauscht, wie ich es brauche. Deine obengenanntes "PACKED" kennt er nicht.
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.