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.