Gast
#1023806
Hallo und einen guten Tag zusammen, ich habe einen Mikrocontroller und einen 16 Bit breiten !!! Parallelen Flashbaustein der Firma ATMEL (AT49BV6416). Nun greife ich lesend und schreibend mit einem Pointer auf die Adressen des Bausteins zu. Ich habe einen 8bit Pointer benutzt. // lesender Zugriff mit einem 8bit Pointer u16 wert; (16 bit variable) wert = *( ( volatile flash8bit * )flash->dev.base_addr + byte_addr); 1) Hier lese ich dann z.b 0x00FA; das Highbyte ist immer Null ? Warum ? Warum steht im Highbyte nicht der Wert der Adresse +1 ? //schreibender Zugriff mit einem 8bit Pointer u16 wert = FABC; (16 bit variable) *( ( volatile flash8bit * )flash->dev.base_addr + byte_addr) = wert; 2) Wenn ich mir die beschriebene Adresse anschaue steht dort im Low Byte BC, im HighByte (Adresse +1) jedoch auch dieser Wert ? Wie kann man das erklären ? Vielen Dank für eure Hilfe mfg Klaus