UART poll oder interrupt?

Gast #1777194
Lesenswert?

Hallo,
ich habe gelesen, das man bei Atmegas sagen kann, dass die USART per 
Interrupt oder gepollt funktionieren kann.

Ich sende mit meinem Programm eine definierte Anzahl an char-Bytes mit 
putchar, anschließend lese ich mit getchar ein paar Char-Werte wieder 
zurück.

Wenn mein Sensor die Char-Werte nicht ausgibt, wartet mein Programm 
endlos darauf und hängt sich somit auf. (hier möchte ich noch ein 
Timeout dazu programmieren)

Es macht doch für mich praktisch keinen Unterschied, ob ich die UART per 
Interrupt oder gepollt initialisiere?
Oder was ist besser?
Gast #1777200
Lesenswert?

stefanie schrieb:
> Oder was ist besser?

Hängt von der Anwendung ab.
Wenn ohne Interrupt Zeichen verloren gehen können dann ist Interrupt 
besser.
Wenn ich einen seeehr zeitkritischen Interrupt im System habe und keine 
hohe Datenrate auf dem Uart vorhanden ist kann es besser sein wenn ich 
beim UART keinen Interrupt verwende.

-> in Deinem Fall scheint es keine Rolle zu spielen da der Prozessor 
ansonsten nicht viel zu tun hat.

Gruß Anja
Gast #1777205
Lesenswert?

ich mag einen mischbetrieb

Empfang eines zeichens im Interrupt
und die daten werden in ein buffer geworfen

ernn der string komplett ist wird eine statemachine aufgerufen die 
bissel was abarbeitet ( in dieser wired der string kopiert

in der zeit können nun wieder neue daten einfließen
Gast #1777311
Lesenswert?

Hallo,

die volle Leistungsfähigkeit eines Systems kannst du nur mit einer 
ausgeklügelten Interruptverarbeitung realisieren. Das ist aber gerade an 
den Leistungsgrenzen nicht ganz einfach, und ich schätze mal, du bist 
Grössenordnungen davon entfernt.

Eigentlich ist die Regel einfach: du kannst pollen, wenn du (bzw. der 
µC) sowieso nichts anderes zu tun hast. Sonst solltest du dich um das 
andere kümmern und Interrupts verwenden.

Gruss Reinhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren