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.