Das sieht sehr kompakt aus, hilft mir aber nur wenn ich durch den Code
durchsteige.
z.B. verstehe ich diese Zeile nicht wirklich:
1 | #define SBIT_(port,pin) ((*(volatile struct bits*)&port).b##pin)
|
das verstehe ich auch nicht ganz:
1 | struct bits {
|
2 | u8 b0:1;
|
3 | u8 b1:1;
|
4 | u8 b2:1;
|
5 | u8 b3:1;
|
6 | u8 b4:1;
|
7 | u8 b5:1;
|
8 | u8 b6:1;
|
9 | u8 b7:1;
|
10 | } __attribute__((__packed__));
|
also ich weiß was du da machst, allerdings weiß ich nicht was du z.B.
mit dem b0:1 machst oder was __attribute__((_packed_)) das bedeutet.
Und so einige andere Sachen auch nicht, da sich das C das ich gelernt
hab von deinem Codestil unterscheidet.^^
Hab jetzt ein volatile vor die Variable tasttest gesetzte, es ändert
sich alleridngs nicht, wenn ich case 5, also die LED blinkt, bin dann
komm ich nicht mehr aus der while-schleife raus. Obwohl tasttest = 0
ist.