STK500 Atmega8515 und einfaches C-Programm

#1089627
Lesenswert?

Hallo Leute,

ich habe seit gestern das AVR STK500 und wollte nun ein kleines 
Anfängerprogramm schreiben, wo ich einfach nur die Taster drücke und ein 
paar LEDs angehen.

Auf irgendeiner Seite hier im Forum habe ich gelesen, dass man bei den 
AVR Prozessoren nicht zwei Port - Anweisungen direkt nacheinander 
ausführen kann. Also sprich ich kann nicht an Port D einlesen und direkt 
danach an Port B etwas ausgeben. Ich weis nicht ob ich das richtig 
verstanden habe, aber ich glaube, dass ist auch gerade mein Problem.

Auf meinem Board ist ein Atmega8515L und ich habe folgenden c - code 
geschrieben. Auf die Tasten reagiert der Prozessor allerdings nicht.

Vielleicht könnt ihr mir ja weiterhelfen!

MFG BlueMorph
1
#include <avr/io.h>
2

3
#define ausgang 0xff
4
#define eingang 0x00
5
#define all_leds_out 0xFF
6

7
int main (void){
8
  uint8_t bPortD;  
9

10
  DDRB = ausgang;
11
  DDRD = eingang;
12

13
  PORTB = all_leds_out;
14
  
15
  while (1){
16
    bPortD = PIND;
17
    if (bPortD == 0x01){
18
      PORTB = 0b01010101;
19
    }
20
    if (PIND == 0x02){
21
      PORTB = 0b10101010;
22
    }
23
    if (PIND == 0x04){
24
      PORTB = 0xFF;
25
    }
26
    if (PIND == 0x08){
27
      PORTB = 0x00;
28
    }
29
  }
30
  return 0;
31
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren