www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ARM7 Programmierung


Autor: Sergey S. (Firma: ARM LPC2134, uVision3, in C) (serik00)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Sergey S. (Firma: ARM LPC2134, uVision3, in C) (serik00)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Robert Teufel (robertteufel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.