Hallo,
ich bin gerade echt am Verzweifeln und hoffe, man kann mir hier helfen.
Ich programmieren gerade ein Programm für einen ATTiny2313.
In dem Programm habe ich ein Array und eine Variable, in der ein zuvor
berechneter Wert gespeichert ist:
1 | char data[24];
|
2 | uint16_t Teiler;
|
3 |
|
4 | ...
|
5 |
|
6 | Teiler = 0b101111111110111; //Ein möglicher Wert zur Verdeutlichung
|
Der Wert von 'Teiler' soll nun in das Array, aber die Bits müssen
"gespiegelt" werden, also so:
1 | data[0] = (Teiler & 1);
|
2 | data[1] = (Teiler & 2);
|
3 | data[2] = (Teiler & 4);
|
4 | data[3] = (Teiler & 8);
|
5 | data[4] = (Teiler & 16);
|
6 | data[5] = (Teiler & 32);
|
7 | data[6] = (Teiler & 64);
|
8 | data[7] = (Teiler & 128);
|
9 | data[8] = (Teiler & 256);
|
10 | data[9] = (Teiler & 512);
|
11 | data[10] = (Teiler & 1024);
|
12 | data[11] = (Teiler & 2048);
|
13 | data[12] = (Teiler & 4096);
|
14 | data[13] = (Teiler & 8192);
|
Die restlichen Elemente des Array werden später befüllt.
Das Problem:
Bis data[7] klappt alles, danach werden alle Elemente des Arrays 0
Woran liegt das, was mache ich falsch?
Gruß
und Danke im Voraus
Doran