Guten Abend, brauche eure Hilfe ich will auf einem ARM7 programmieren. Dazu ein Final state machine: Der Datenstrom wird mittels Interrupt aus dem UART ausgelesen. Das heißt wenn ein Byte im UART vorliegt wird Interruppt ausgelösst. Die Telegramme werden abgespeichert. Dann muss ich einen Adressenabgleich implementieren werden Dann findet die CRC-Prüfung statt. Also bei mir geht es um folgende Aufgaben: Daten aus dem UART auslesen, Interruppt-Routinen, Timer einbauen, CRC-Prüfung. Könnt ihr mein FSM erweitern und korrigieren. Wie könnte das ganze z.B aussehen? Vielen Dank im Voraus.
>Könnt ihr mein FSM erweitern und korrigieren. Sieht doch gut aus. Mach es so. >Wie könnte das ganze z.B aussehen? So wie du oben beschrieben hast.
Danke, Ich muss auch Timer benutzen, wie kann ich diesen hier einbinden? Wozu dienen sie? Soll so ein Timer z.B die empfangene Bytes zählen, um zu erfahren wo die Destination Adress im Telegramm vorliegt?
Ich muss auch Timer benutzen, wie kann ich diesen hier einbinden? Wozu dienen sie? Soll so ein Timer z.B die empfangene Bytes zählen, um zu erfahren wo die Destination Adress im Telegramm vorliegt? ---- Die Zeichen werden in der Uart ISR gezählt. Wozu Timer dienen sollte doch klar sein, zum Zählen von Takten oder externen Ereignissen oder als Zeitbasis.
Timer kann auch als eine Art Watchdog dienen. Jedes empfangene Byte setzt den Timer zurueck (Interrupt Routine). Wenn 10 Sekunden nichts mehr gekommen ist, dann... Aktion festlegen, z.B. - Idle Mode fuer Strom sparen - LED anschalten weil erwartete Daten nicht gekommen sind - Das ganze System zuruecksetzen..... Ansonsten Timer also Zeitbasis fuer Datalogger. In der ersten Minute 123456 bytes empfangen In der zweiten Minute 234123 bytes... Timer sind immer fuer etwas gut Robert
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.