Hallo!
Kann es sein, dass wenn ich ein Array (String) mittels
volatile unsigned char puffer[900];
definiere und dieses dann mittels einer Funktion über einen Zeiger
bearbeiten will, ich nur auf die ersten 256Bytes zugriff habe (wegen
char)?
Konkret:
--------
Aufruf mit:
funktion ( puffer );
Funktion:
void funktion ( unsigned char *p_puffer )
{
*p_puffer = .....
p_puffer++;
usw..
}
Wenn ich das Array und den zeiger als unsigned int definiere, so
funktioniert es, verbraucht mir aber zu viel Speicher, den ich nicht
habe! :-(
Definiere ich nur den zeiger als int, so schimpft der Compiler, dass
die Typen nicht zusammenpassen.. :-/
Versteht ihr, was ich meine oder muß ich es noch genauer versuchen zu
erläutern? ;)
Bin für jeden Tipp dankbar!
Gruß,
Peter
Nein, das kann so nicht sein. Poste mal Deinen Code. Nicht Dein Erklärsel, sondern den aktuellen Code.
Hattest recht! ;) Grund war ein völlig anderer! Bin rein zufällig draufgekommen. In einer anderen Funktion ist ein Zeiger übers Ziel "hinausgeschossen" und hat wild im RAM herumgeschrieben! ;) Trotzdem danke!
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.