Forum: Mikrocontroller und Digitale Elektronik muss man das pollen


von Max (Gast)


Lesenswert?

ich hab nur ne kurze frage muss man das frame error bit beim mega644 
pollen oder triggert da auch ein interrupt (wenn ja welcher).

von Hoppla (Gast)


Lesenswert?

Guckst Du Datenblatt.

von Max (Gast)


Lesenswert?

da steht bei erfolgreichem empfang wird tx-cmplete getriggert (aber is 
nu framing error erfolgreich? ) .

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

der Empfänger triggert auf die 1. Flanke des Startbits, und liest die 
10Bits (bei 8N1) in festen Zeitabständen ein. Danach wird der 
RX-complete-INT gesetzt. Einen FE bekommst du dann wenn das Stopbit den 
falschen Pegel hatte.

Sascha

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


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.

von Hoppla (Gast)


Lesenswert?

Max schrieb:
> da steht bei erfolgreichem empfang wird tx-cmplete getriggert

Ich kann das nicht finden. Auf welcher Seite steht das?

von spess53 (Gast)


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

von Hoppla (Gast)


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.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

"Erfolgreich" ist der Empfang, wenn die entsprechende Nummer an Bits 
angekommen ist. Das ist auch im Fehlerfall gegeben.

von Klaus (Gast)


Lesenswert?

Max, schonmal was von Groß- und Kleinschreibung gehört?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ist unmodern... :-/

von Michael L. (hasimaus)


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ß

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.