Forum: Mikrocontroller und Digitale Elektronik Interruptgesteuerter UART bei AVR mega169p


von hhanff (Gast)


Angehängte Dateien:

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:
1
uart_puts( "Hello, world!\n" );

Kann mir jemand helfen?

Gruß,

Hendrik

von Falk B. (falk)


Lesenswert?

Interrupt

Hier gibt es ein einfaches, getestetes Beispiel.

MfG
Falk

von Martin T. (mthomas) (Moderator) Benutzerseite


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.