mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interruptgesteuerter UART bei AVR mega169p


Autor: hhanff (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
ich habe das Butterfly Entwicklungsboard und möchte nun die RS232 
Schnittstelle ansprechen. (Der mega169p hat einen internen Konverter der 
UART nach RS232 wandeln kann und umgekehrt)
Blockierend habe ich das ganze schon hinbekommen.
Nun würde ich es gerne non-blocking, also interruptgesteuert machen. 
Dazu habe ich die folgende Seite im Netz gefunden:
http://andrey.thedotcommune.com/uart.html
und mir den Beispielcode hier heruntergeladen:
http://andrey.thedotcommune.com/download/uart.zip

Ich habe ein paar Anpassungen vorgenommen, da der Code so bei mir nicht 
kompilieren wollte. Leider bekomme ich den UART aber nicht ans laufen.

Noch etwas: Komischerweise mußte ich beim debuggen die folgende Zeile 
auskommentieren, da sich der Debugger sonst immer wieder neu startete:
uart_puts( "Hello, world!\n" );

Kann mir jemand helfen?

Gruß,

Hendrik

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interrupt

Hier gibt es ein einfaches, getestetes Beispiel.

MfG
Falk

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hhanff wrote:

> ich habe das Butterfly Entwicklungsboard und möchte nun die RS232
> Schnittstelle ansprechen. (Der mega169p hat einen internen Konverter der
> UART nach RS232 wandeln kann und umgekehrt)

Es ist kein EIA232 Konverter im ATmega169P sondern eine Art "MAX232 aus 
Einzelteilen" auf dem Butterfly-Board (nicht ganz standardkonform aber 
allermeistens problemlos).

>...
> Noch etwas: Komischerweise mußte ich beim debuggen die folgende Zeile
> auskommentieren, da sich der Debugger sonst immer wieder neu startete:
> uart_puts( "Hello, world!\n" );

Ohne jetzt in den Code geschaut zu haben: sehr wahrscheinlich Fehler in 
der Initialisierung des Interrupts oder fehlender Interrupt-Handler.

> Kann mir jemand helfen?

Neben dem von Falk Brunner genannten Wiki-Artikel bietet sich Peter 
Fleurys AVR UART library an (http://jump.to/fleury). Nicht ganz so 
kompakt wie das Beispiel im Wiki aber auch nicht ausufernd. P. Fleurys 
Library ist bereits für ATmega169 vorbereitet.

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.