Problem mit mehrdimensionalem Array

Gast #1363636
Lesenswert?

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 #1363701
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren