Hallo! Ich benötige Eure Hilfe. Was mache ich falsch? Controller: Atmega8 Compiler: Studio 4 Folgende Variablen sind deklariert: uint16_t buffer[6][15] = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; int32_t diff1=0; im späteren Verlauf wird folgendes gemacht: In einer Schleife wird der Variablen diff1 die Differenz zweier Array-Elemente übergeben: diff1=((buffer[i][0])-(buffer[i][13])); Möchte ich nun mit dem Ergebnis "diff1" was auch immer machen (z.B. über RS-232 den Wert zum Debuggen ausgeben), bleibt mein Controller scheinbar stehen (zumindest wird bei nichts mehr ausgegeben und der Controller reagiert nicht mehr). Über Infos zum Fehler bin ich euch sehr dankbar! Viele Grüße Snobi
int32_t diff1 = (int32_t)buffer[i][0] - (int32_t)buffer[i][13]; Achte darauf, dass i innerhalb 0..5 bleibt!
Hallo Stefan B., besten Dank für Deine Antwort und den Hinweisen. Es war tatsächlich das [i] das einen Überlauf verursachte. Meist sind es die kleinen Dinge die alles schwierig erscheinen lassen. Nochmals vielen Dank! Gruß Snobi
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.