Hallo Leute!
habe gerade mein erstes uC Programm auf einenen Atmega32 geflashed.
Nun will ich mit einem Taster eine LED einschalten. dh. solange der
gedrückt wird, sollte das LED leuchten. Mein Eingang ist auf Masse, wenn
Tater gedrückt wird liegen 5V an. Wenn ich die Taste drücke geht das
Licht zwar ein aber nicht mehr aus... Die bit_is_clear funktion sagt ja,
wenn null wollt anliegen dann 0 und wenn 5V anliegen dann 1. ??
Danke für die Hilfe!
1 | #include <avr/io.h>
|
2 |
|
3 | int main(void)
|
4 | {
|
5 | DDRD |= 1 << PIND6;
|
6 | DDRD |= 0<< PIND2;
|
7 |
|
8 | while(1)
|
9 | {
|
10 | PORTD |= 0 << PIND2;
|
11 |
|
12 | if (bit_is_clear(PIND,2))
|
13 |
|
14 | {
|
15 | PORTD |= (0<<PIND6);
|
16 | }
|
17 | else
|
18 | {
|
19 | PORTD |= (1<<PIND6);
|
20 | }
|
21 | }
|
22 | }
|