Hallo habe ein Problem, vielleicht könnt Ihr mir helfen. Im ersten fall Hand funktioniert die &~ (undnicht) abfrage und im fall Automatik nicht ? Finde leider den Fehler nicht. Atmega644 mit Pollin Board.
1 | #define checkbit(var,bit) (var &(1<<bit))
|
2 | #define setbit(var,bit) (var |= (1<<bit))
|
3 | #define clearbit(var,bit) (var &= ~(1<<bit))
|
4 | |
5 | |
6 | Hand////////////////////////////////////////////////////////////// |
7 | |
8 | if(checkbit(PINB,3)&~ checkbit(PIND,3)) // Handbetrieb Ein |
9 | {
|
10 | setbit (PORTD,0); // Pumpe 1 Ein |
11 | setbit (PORTD,1); // Pumpe 2 Ein |
12 | setbit (PORTD,2); // Meldeleuchte Anlage Ein |
13 | }
|
14 | else
|
15 | {
|
16 | clearbit (PORTD,0); // Pumpe 1 Aus |
17 | clearbit (PORTD,1); // Pumpe 2 Aus |
18 | clearbit (PORTD,2); // Meldeleuchte Anlage Aus |
19 | } // Ende Handbetrieb |
20 | |
21 | /////////////////// Automatikbetrieb /////////////////////////////////////////////////////////
|
22 | |
23 | if(checkbit(PINB,2)&~ checkbit(PIND,3)) // Automatikbetrieb Ein |
24 | {
|
25 | setbit (PORTD,2); // Meldeleuchte Anlage Ein |
26 | }
|
27 | else
|
28 | {
|
29 | clearbit (PORTD,2); // Meldeleuchte Anlage Aus |
30 | } // Ende Automatikbetrieb |