www.mikrocontroller.net

Forum: Compiler & IDEs UART + Mega128 programmieren


Autor: Dirk Kramer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

kennt einer von euch eine Möglichkeit die beiden UARTS von Atmel's 
Mega128 mit gcc zu anzusprechen. Ich hab schon ein bisserl damit 
getestet, aber beim Ansprechen von UDRE0 und UDRE1 ist Schluss. Beide 
Bits sind anscheinend in der iom128.h nicht deklariert.

Meine Frage ist nun: Wie kann ich dieses Problem umgehen?

Reicht es, wenn man lediglich zwei Definitionen á la :

#define    UDRE0         5
#define    UDRE1         5

in den Header hinzufügt, oder was muss man dabei noch alles beachten?

Ich habe übrigens AVR-Studio 3.55 und das avrgcc-Build vom 25.06.2002 
(avr-freaks).

Danke,

Dirk

Autor: Dirk Kramer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke an alle, die sich möglicherweise den Kopf zerbrochen haben, aber 
ich habe inzwischen selbst den Ausweg gefunden.

War ja gar nicht so schwer wie ich dachte.

:-)

Dirk

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann verrats uns halt auch.....

Danke

Christian

Autor: Dirk Kramer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wollt halt z.B. in den Registern UCSR0A und UCSR1A verschiedene Bits 
setzen, und hatte dabei nicht an folgendes gedacht:

Setzen:
USCR0A=(USCR0A|(1<<UDRE));

Löschen:
USCR0A=(USCR0A&(!(1<<UDRE)));

Damit kann man natürlich die einzelnen Bits verändern, ohne Sie explizit 
ansprechen zu müssen.

Mir schwebte halt damals irgendsowas wie UDRE0=0 bzw UDRE0=1 vor.

UDRE ist übrigens in den meisten Versionen der iom128.h definiert (als 
5tes Bit). Und da die Bitbelegungen in den Registern für die jeweiligen 
USARTS gleich sind, brauch man nur eine Konstante (das gilt so natürlich 
auch für die anderen Bits der USARTS).

So das war eigentlich schon die ganze "Lösung".

Falls es jemandem was hilft ... fröhliches "Mega Atmel'n"!

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.