mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STK500 Atmega8515 und einfaches C-Programm


Autor: Neb N. (bluemorph)
Datum:

Bewertung
0 lesenswert
nicht 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
#include <avr/io.h>

#define ausgang 0xff
#define eingang 0x00
#define all_leds_out 0xFF

int main (void){
  uint8_t bPortD;  

  DDRB = ausgang;
  DDRD = eingang;

  PORTB = all_leds_out;
  
  while (1){
    bPortD = PIND;
    if (bPortD == 0x01){
      PORTB = 0b01010101;
    }
    if (PIND == 0x02){
      PORTB = 0b10101010;
    }
    if (PIND == 0x04){
      PORTB = 0xFF;
    }
    if (PIND == 0x08){
      PORTB = 0x00;
    }
  }
  return 0;
}

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flachkabel für Port B und Port D richtig aufgesteckt ?
Leuchten die LEDs ?

Otto

Autor: Tobias Adolph (tadolph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benny,

soweit ich weiß sind sowohl die Taster als auch die LEDs low-aktiv.

Bei der Abfrage auf 0x01 bedeutet das entsprechend, dass du sieben 
Taster gleichzeitig drücken mußt.

Probier es mal mit 0xFE. Bei den anderen entsprechend...

Tobias

Autor: Neb N. (bluemorph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@tadolph mhh, in der Simulation klappt es immer so!!

Wenn ich den Mikrocontroller programmiert hab, passiert allerdings gar 
nichts. Die Flachbandkabel sind richtig aufgesteckt. Hab ich nochmal 
geguckt. Ich probier jetzt mal (sieben Taster zu drücken smile).

Autor: Neb N. (bluemorph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mhh, leider hat das mit den sieben Taster drücken nicht funktioniert. 
Ich denke auch, dass die Taster high aktiv sind.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da muss man nichts denken oder glauben, das ist einfach so. Steht auch 
irgendwo in den Unterlagen zum STK500 :).

Läuft es denn jetzt mit 0xFE?

Autor: Neb N. (bluemorph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super! Hat geklappt. Hattest recht!!! Taster und LEDs sind low aktiv! 
Danke dir!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.