- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 5 von 5

Thema: Anfängerfrage zum Tiny2313 (auf) STK500 (bzgl. PORTA)

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    12.06.2007
    Beiträge
    42

    Anfängerfrage zum Tiny2313 (auf) STK500 (bzgl. PORTA)

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo!

    Ich steige momentan in die AVR-Programmierung ein, bin in der Hinsicht aber noch ziemlich grün (in Sachen LED-Spielchen macht mir allerdings keiner mehr was vor!). Deshalb hoffe ich, in diesem großartigen Forum (das mir bislang schon sehr geholfen hat) eine Lösung zu finden, da meine Internet-Recherche seit Stunden erfolglos ist.

    Mein Problem:

    Ich versuche mich gerade am Programmieren des USART und kann ein "Hello World" auf einem Terminal (bei mir HTerm) ausgeben. Dazu musste ich allerdings die Standard-Verkabelung des STK500 ändern. PORTB ist, wie gehabt, mit den LEDs verbunden. An PORTD waren eigentlich die Taster. Die USART-Ausgabe habe ich nur hingekriegt, indem ich die RS232-Pins (TXD, RXD) mit PORTD verbunden habe, so dass die Taster und deren Funktionalität erstmal weggefallen sind.

    Meine logische Schlussfolgerung war, die Taster einfach über einen anderen Port anzusprechen (auf dem STK500 gibt es ja die Ports A-E). So musste ich erstmal lernen, dass mein Tiny2313 keinen Port C bzw. E besitzt.

    Mein Ziel ist es, Ein- und Ausgabe in einem Programm unterzubringen. Z.B. könnte man per Terminal solange Zeichen eingeben, bis ein Taster gedrückt wird und die Zeichen wieder zurück an das Terminal gesendet werden.

    Wäre es denn möglich, den PORTA zu diesem Zweck zu nutzen? Laut Datenblatt ist dies ja nur ein 3-Bit-Port. Für ein, zwei Taster würde es ja locker reichen, aber meine Versuche in der Richtung sind bislang gescheitert.

    Aus mehreren Anweisung der Marke
    Code:
    while( !(PIND & (1<<PIND0)) ) { ... }
    habe ich entsprechend
    Code:
    while( !(PINA & (1<<PINA0)) ) { ... }
    gemacht. DDRA habe ich auf 0x00 (alle Pins als Eingänge) gestellt.

    Oder wäre es andersrum möglich, den PORTA für die USART-Ein-/Ausgabe zu nutzen? Ich bin nicht sicher, ob USART vielleicht auf PORTD festgelegt ist o.ä. .

    Ein anderer Mikocontroller kommt übrigens nicht in Frage, da die Tiny2313's hier im Betrieb eingesetzt werden.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    2313

    Hallo _matze,

    Wäre es denn möglich, den PORTA zu diesem Zweck zu nutzen?
    Port A besitzt der 2313 auch nicht.

    Also: Der 2313 hat nur Port B (8 Bit) und Port D (7 Bit).

    Belegung RS232 (z.B.):
    PD0 -> RXD
    PD1 -> TXD

    Gruß Dirk

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    12.06.2007
    Beiträge
    42
    Hi Dirk!

    Danke für den Tipp, ich hab's jedoch vor 5 Minuten selbst rausgefunden. Ich war der Ansicht, der 2313 hätte einen Port A, da im AVR-GCC für diesen Typ die entsprechenden Konstanten (PORTA, DDRA, etc.) definiert sind. Aber eigentlich ist aus dem Datenblatt zu ersehen, dass es sich dabei nur um Reset (PA2) bzw. Quarz (PA0, PA1) handelt.

    Trotzdem vielen Dank für die Hilfe!

    Im Übrigen habe ich nicht weit genug gedacht (hab halt keine Ahnung von Elektrotechnik). Anstatt den Port D mit dem mitgelieferten Kabel komplett zu belegen, nur um die 2 Pins für den USART zu verbinden, werde ich nun versuchen, ein Kabel auseinander zu rupfen und somit sowohl USART als auch ein paar Taster auf Port D zu legen. Das dürfte doch klappen, oder?

    Gruß Matze

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    2313

    ... werde ich nun versuchen, ein Kabel auseinander zu rupfen und somit sowohl USART als auch ein paar Taster auf Port D zu legen. Das dürfte doch klappen, oder?
    Jo, klappt! 5 Taster sind da noch drin (PD2..6)!

    Gruß Dirk

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    12.06.2007
    Beiträge
    42
    So, habs geschafft! Meine LED-Lichtershow wird weiterhin betrieben und ist über Taster steuerbar, und in der Schleife werden USART-Ein- und Ausgaben abgewickelt.

    Herzlichen Dank nochmal, Dirk! Ich denke, das wird nicht meine letzte Frage hier im Forum gewesen sein. Schön zu wissen, dass hier fachkundige Hilfe zu finden ist.

    Gruß Matze

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen