Forum: Mikrocontroller und Digitale Elektronik UART beispielsuche


von BAL (Gast)


Lesenswert?

Hi Leute,

Nachdem ich meinen UART nun zum laufen bekommen habe, würde ich gerne
3byte aufnehmen und wieder ausgehen.
Das Signal ist asynchron, 31.250 KBaud, 8N1.
Über einen Interrupt bekomme ich das erste Byte rein und kann es auch
wieder ausgeben.

Frage: wie lese ich die darauffolgenden Bytes aus??(habe versucht ein
array zu füllen, nur das erste byte wurde reingeschrieben)

Ich suche auch ein bespiel in dem über den UART mehrer vorher
definierte Byte mit einer bestimmten Bautrate ausgegeben werden,,

bin für jeden Tip echt dankbar

von tastendrücker (Gast)


Lesenswert?

Welcher µC? Welche Sprache? Wie sieht's mit Code aus? ...

So kann man nur raten!
Eventuell musst du nach dem Lesen des ersten Bytes ein Flag löschen,
damit beim nächsten Byte wieder ein Interrupt kommt.

von Mark (Gast)


Angehängte Dateien:

Lesenswert?

Hab da mal schnell das wesentliche zusammengesucht.

Grüße

von TravelRec. (Gast)


Lesenswert?

Beim AVR wird nach einem komplett empfangenem Byte ein RX-Complete
Interrupt ausgelöst, wenn er aktiviert ist. In der
Interrupt-Service-Routine holt man dann das Byte vom U(S)ART ab. Wird
ein weiteres Byte empfangen, geht das Spiel von vorn los. Man muß in
der ISR also nur entscheiden, wo man das empfangene Byte hinschreibt ->
indirekte Adressierung über Zeiger (X-Y-Z-Register).

von BAL (Gast)


Angehängte Dateien:

Lesenswert?

Danke erstmal für die schnellen Antworten,

Ich benutzte:  MSP430F1232 (8Mhz-external), programmiere in C.

Die Zuweisung der empfangenen Bytes in ein Array funktioniert also
nicht...?? siehe Dateianhang..

Danke Mark für das Beispiel,, mache mich gleich mal drüber


Grüsse

von Mark (Gast)


Lesenswert?

Hab da noch ein paar warnings debugt. (AVR Studio)

Da der Beipielcode von einem Atmega8 ist, wirst du einige
Registernamen austauschen müssen.

MfG

von BAL (Gast)


Lesenswert?

Noch mal ganz kurz,,

wofür steht UDR??  == RXBUF0
und UDRE???

danke

von BAL (Gast)


Angehängte Dateien:

Lesenswert?

HI

ich habe versucht den Quelltext von Mark auf den MSP umzumünzen, aber
irgendwie haut´s nicht hin.. das prinzip ist klar..

warum meckert mein Compiler bei "memset"???

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.