Problem mit mehrdimensionalem Array

Gast #1363636
Hallo zusammen,

habe da ein Problem beim beschreiben von einem mehrdimensionalem
Array. Ich lade 8 Kanäle von ADC in das Array life_ch[7], was auch 
einwandfrei funktioniert. Wenn ich nun die Werte in ein anderes Array 
übernehme, wo die Daten weiter verarbeitet werden solle, wird immer eins 
der 8 Bytes falsch übernommen.
Es passiert sogar, das ein Byte in einer anderen Dimension zu null wird, 
obwohl In der Routine gar nicht auf diese Dimension zugegriffen wird.
Hier mein Code:
Alle Variablen sind global declariert

unsigned char memnum;    // aktuelle Memory-Nummer
unsigned char life_ch[7];    //ADC-Werte Für leif-Kanal
unsigned char memory[7][6];    //Ausgabewerte für alle Memoryplätze
unsigned char i;

ADC_life();                          //laden der Analogwerte

memnum=(auswahl(0,0,6));    //Auswahl des Speicherplatzes von 1-6
for (i=0; i<8; i++)
{
memory[i][memnum]=(life_ch[i]);
}

nach dieser Schleife ist einer der 8 Werte in Memory[i][memnum] =0.
Es passiert auch, das bei beschreiben des Array’s zB. Memnum=0,
ein Wert in der Dimension memnu=1 zu Null wird.

-ist sicher schwer zu verstehen aber vielleicht kann ja doch einer 
helfen.
-Arbeite mit WinAVR
-Der Prozessor ist ein ATMEGA 664p mit 20 MH


PS. Die Wege der Ströme und Spannungen sind unergründlich.
Gast
didi schrieb:

> habe da ein Problem beim beschreiben von einem mehrdimensionalem
> Array. Ich lade 8 Kanäle von ADC in das Array life_ch[7], was auch

8 Werte in ein Array mit 7 Plaetzen?
Gast
Vielen Dank,

hatte da einen vollen Aussetzer. Spreche sonst nur Assembler und habe 
jetzt mit C angefangen, weil ich etwas umfangreichere Berechnungen 
bewältigen muß und das macht sich in Assembler nicht so leicht.

nochmals vielen Dank!!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.