Hallo,
ich habe eine kurze Frage. Es handelt sich hier um einen Pic18 und den
C18 Compiler von Microchip.
Das hier war nur ein kleiner Versuch.
Warum funktioniert das hier:
1 | daten=0;
|
2 | for (j=0; j<7; j++)
|
3 | {
|
4 | daten |= (0x0001<<j);
|
5 | }
|
6 | daten |= 0b10000000;
|
7 | daten |= 0b100000000;
|
8 |
|
9 | Ergebnis: daten = 0b0000 0001 1111 1111
|
aber das hier nicht?
1 | daten=0;
|
2 | for (j=0; j<9; j++)
|
3 | {
|
4 | daten |= (0x0001<<j);
|
5 | }
|
6 |
|
7 | Ergebnis: daten = 0b1111 1111 1111 1111
|
Hier tritt das Problem schon ab dem 8. Bit auf darum habe ich das 8. und
9. Bit oben extra behandelt.
Viele Grüße
Meike