Gast
#162219
Hi erstmal :)
Ich habe folgendes Problem.. ich will zu Testzwecken eine sehr große
Konstante in den ROM schreiben.. dies mach ich mit
char code daten[] = { .. 40k hexwerte };
der Controller hat 64k Ram, geht sich also Problemlos aus.. sind auch
richtig im ROM.
nun will ich aber auf einzelne Bytes zugreifen.. der erste Versuch war
ein direkter Zugriff also über daten[ziffer].. ein korrekter Zugriff
war so nicht möglich?
genauer: ich verwendete if(daten[1533]==0xFF) ....
das Programm springt trotz richtigem Inhalt nicht in die Schleife
Somit versuchte ich es über einen Pointer
char *test;
test=test+1533;
if(*test==0xFF) ....
das selbe.. springt nicht in die schleife, obwohl eindeutig 0xFF dort
steht.. (zur Kontrolle wurden alle Mittel des Keil debuggers
verwendet).
dann gings weiter..
char *test;
char space;
test=test+1533;
space=*test; --> in space steht nun definitiv 0xFF laut debugger!
if(space==0xFF) ... --> springt NICHT in diese schleife ?!
Ich hoffe ihr habt ne idee, ich bin echt am verzweifeln.. falls es eine
bessere möglichkeit gibt auf diese Datenmenge zuzugreifen bin ich gerne
offen für Vorschläge..
bei den Daten handelt es sich übrigens um ein MP3-File welches später
über zu Testzwecken über den internen MP3-Dekoder ausgegeben werden
soll (AT89C51SND1C)..
Danke für eure Hilfe
Grüße
Manuel