Nabend,
habe gerade so meine Denkprobleme.
Würde gerne in die Funktion noch eine "Repeat" Funktion mit einbauen..
Haut jetzt nicht ganz so hin.. Mache da wohl was vom Ablauf falsch.. :(
1 | void SwitchRead( Switch_t *Switch , volatile uint8_t *SwitchInPort )
|
2 | {
|
3 | static uint8_t RepeatDetected = 0;
|
4 |
|
5 | Switch->New = ( ( PORT_PIN_ADDR( SwitchInPort ) & Switch->Mask ) ^ Switch->Mask );
|
6 |
|
7 | if ( Switch->New != Switch->Old)
|
8 | {
|
9 | Switch->Info = ( Switch->Info | ( Switch->New & ( Switch->Old ^ Switch->New ) ) );
|
10 | Repeat = SWITCH_BEGINN_FIRST_REPEAT;
|
11 | }
|
12 |
|
13 | Switch->Old = Switch->New;
|
14 | }
|