muss man das pollen

(Firma: TravelRec.) Persönliche Seite #1670208
Lesenswert?

TXC triggert immer, wenn die gewünschte Anzahl von Bits ausgesendet 
wurde. RXC triggert immer, wenn die gewünschte Anzahl von Bits inklusive 
Start- Stop- und eventuell Paritybits eingetroffen ist. Im RXC-Interrupt 
kontrolliert man vor dem Einlesen der Daten aus dem UDR sinnvollerweise, 
ob die Fehlerstatusbits 0 sind, da ansonsten das Byte fehlerhaft 
empfangen wurde. Außerdem muß man die Fehlerstatusbits vor dem UDR-Lesen 
testen, da sie danach nicht mehr gültig sind.
Gast #1670247
Lesenswert?

Hi

>> da steht bei erfolgreichem empfang wird tx-cmplete getriggert
>Ich kann das nicht finden. Auf welcher Seite steht das?

Ist auch irrelevant, da die Fehlerbits nur für RX gültig sind.

MfG Spess
Gast #1670271
Lesenswert?

spess53 schrieb:
>>> da steht bei erfolgreichem empfang wird tx-cmplete getriggert
>>Ich kann das nicht finden. Auf welcher Seite steht das?
>
> Ist auch irrelevant, da die Fehlerbits nur für RX gültig sind.

Darauf bezog sich meine Frage nicht. Das sollte auch Dir klar sein.

Ich finde keine solche Aussage, in der von "erfolgreichem" Empfang in 
Bezug auf den RX Interrupt die Rede ist.
#1670729
Lesenswert?

Hallo Max,

ist Deine Frage schon beantwortet ?
Wenn nicht, hier ein Hinweis.
Im Datenblatt, im Kap. 17.7.4 "Receiver Error Flags" steht deutlich:
"None of the Error Flags can generate interrupts."

"Frame Error", genauso wie die anderen Error Flags, Data OverRun (DORn) 
and
Parity Error (UPEn), sind nur beim Empfang interessant. Die Daten werden 
auf jeden Fall empfangen und im Receive Buffer gespeichert. Danach 
erfolgt ein Interrupt. Innerhalb der Interrupt Routine können und 
sollten die Fehlerflags abgefragt werden.

Die vollständige Antwort ist also: "Frame Error" löst selbst keinen 
Interrupt aus. Ein Pollen macht allerdings auch keinen Sinn, da erst 
nach Empfang von Daten dieses Bit entsprechend gesetzt wird. Abfrage 
kann in der Interrupt Routine erfolgen.

Gruß

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