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
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.
Also rufe ich nach jeden Zeiche eine Funktion auf die den UDr in eine Array speicher.Und dann immer im Array eins nach vorn.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.