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
BID = 558666
DonComi
Inventar
Beiträge: 8604 Wohnort: Amerika
Edit:
Blödsinn entfernt...
Dennoch fehlt irgendwie etwas an Information..
[ Diese Nachricht wurde geändert von: DonComi am 24 Okt 2008 22:38 ]
BID = 568030
Brizz
Stammposter
Beiträge: 386 Wohnort: Rheine
Weil Du nur ein Byte liest, kann der gelesen Wert nur zwischen 0 und 255 sein.
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!