Moin,
Irgendwas muss ich übersehen haben
Ich habe ein Array:
1 | volatile unsigned char PVWChannel[16]={ 1,2,3,4,5,6,7,133,9,10,11,12,13,14,15,16};
|
Auf dieses wird mittels des Index
zugegriffen.
"key" werden Werte zwischen 0 und 16 zugewiesen, wobei die 0
herausgefiltert wird (Rückgabewert einer Matrix-Tastaturabfrage: "0" =
keine Taste gedrückt).
Auf das Array greife ich nun so zu:
1 | xyz = PVWChannel[key-1];
|
Es sollte also bei key = 1 xyz=1 sein oder bei key = 8 xyz = 133.
Ist es aber nicht.
Bei key = 1 ist xyz = 0 und bei key = 8 ist xyz = 132.
Das zieht sich über das ganze Array hin.
Woran liegt es?
Die Optimieroption des Compilers ist "0".
Vielen Dank und viele Grüße
Rahul