Guten Abend, auch ich bin nun stolzer Besitzer eines STK500 ;) Ich
studiere im 2.Sem. Elektrotechnik und auch dort programmieren wir
Mikrocontroller.
Daher habe ich mir zum üben und basteln das Entwicklungsboard von Atmel
gekauft. Heute habe ich das Board zum ersten Mal in Betrieb genommen und
meine ersten Programmier-Versuche hinter mir.
Ich habe bereits einen Timer parametriert,ISR programmiert und alle LEDs
mit einem bestimmten Takt blinken lassen.
Jetzt wollte ich gerne den Status der Taser abfragen und dann die
entsprechende LED ansteuern.
Habe mich auch schon mal etwas hier im Forum umgeschaut und bin auch auf
ähnliche Probleme gestoßen!
Habe jetzt diesen funktionierenden Code:
1 | #include <avr/io.h>
|
2 | #include <avr/interrupt.h>
|
3 |
|
4 | void main(void)
|
5 | {
|
6 | PORTB= 0xFF;
|
7 | DDRB = 0xFF;
|
8 | DDRD = 0x00;
|
9 |
|
10 | while (1)
|
11 | {
|
12 | PORTB= 0xFF;
|
13 |
|
14 | if(PIND==0xFE)
|
15 | PORTB=~0x01;
|
16 | }
|
17 |
|
18 |
|
19 | }
|
Jetzt habe ich aber nochmal eine Frage:
Mit dieser Anweisung if(PIND==0xFE) klappt es, doch damit
if(PIND==~0x01) nicht!?
Warum?
mfg