Forum: Mikrocontroller und Digitale Elektronik USART Receive


von Thomas (Gast)


Lesenswert?

Hallo .Hatte mich eben  schon mal gemeldet ,da ich Probleme mit meinem
USART Receive Interrupt habe .Anhand der Quellcode.Da ich es leider
nicht überprüfen kann ,ob ins UDR Register etwas reingeschrieben  wurde
,möchte ich nun die ankommenen Daten in eine Variabele speichern.Die
ankommenen Daten haben eine wortlänge von 17-26 bytes.Weiß vielleicht
jemand wie ich sie in einem Arry speicher kann ,um später spezielle
stellen des Arrays als informationen zu verarbeiten?
Thx schon mal

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

oh.sorry

von Ronny (Gast)


Lesenswert?

Das lässt sich in C,Assembler oder (wär´s mag) auch BASCOM machen.Indem
man im Receive Interrupt das Empfangsregister in ein globales Array
sichert und einen ebenfalls globalen Indexzähler auf die Position des
nächsten freien Zeichens im Array aktualisiert.

Das lernen wenigstens einer Programmiersprache kann dir aber weder hier
jemand noch irgendwelche CodeWizards abnehmen.

von Thomas (Gast)


Lesenswert?

Also rufe ich nach jeden Zeiche eine Funktion auf die den UDr in eine
Array speicher.Und dann immer im Array eins nach vorn.

von Ronny (Gast)


Lesenswert?

Aus einem Interrupt macht man KEINE Funktionsaufrufe.Man tut was NÖTIG
ist und verlässt ihn schleunigst wieder.Der entsprechende Code kommt IN
die Interrupt-Routine.Und Array sowie Index-Zähler werden als
'volatile' deklariert.

von Thomas (Gast)


Lesenswert?

Ja hab ich gerade nachgelesen .THX

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.