Beispiel von scheduler

Gast #1471482
Lesenswert?

hallo zusammen,

ich möchte gern ein scheduler entwickelt, das jede 2s ein String über 
UART senden kann. Womit ich anfangen soll, habe ich keine Ahnung. Ich 
habe paar Beispiele hier im Forum gesehen aber finde ich sehr 
kompliziert für einen Anfänger.
Bitte kann jemanden mir helfen oder Hinweise geben.

Danke

MFG

Paul
Persönliche Seite #1471505
Lesenswert?

Hi,

zum Senden eines Strings alle 2s über UART brauchste keinen sceduler, 
sondern nur nen Timer Interrupt.

Ansonsten:
Für den Einstieg hab ich mal nen supereinfachen kooperativen 
Funktions-Sceduler geschrieben, also Funktionen werden nach Prio 
aufgerufen und müssen sich selbst wieder beenden. War interessant, wie 
sehr das dingen schon die Arbeit auf einem uC vereinfachte und 
entzerrte.

Mittlerweile arbeite ich mit Keil RTX, und will ein RTOS nicht mehr 
missen auf nem uC :-)


VG,
/th.
Gast #1471542
Lesenswert?

Hallo,

a) Ich programmiere in C den Mikrocontroller AT90CAN128

b) Zur Zeit Sende ich ohne Problem String über UART. Ich habe auch ein 
Timer konfiguriert aber für die Überwachung von CAN-Kabel.

c) Mein Programm hat als Aufgabe: String über UART zum empfangen und 
weiter über CAN-Bus zu senden.

d)Jetzt möchte ich ein bestimmtes String jedes 2s über UART senden und 
gleichzeitig(parallel) mein aktuelles Programm laufen lassen.

e) Ich vermute dieses Parallismus ist der Scheduler oder?

Danke
Persönliche Seite #1471566
Lesenswert?

Man kann das mit einem Scheduler machen, muss es aber nicht.

Wenn du bereits einen Timer mit feinerer Auflösung als 2s laufen hast, 
könntest du einen UART-Puffer für den 2s-String anlegen und aus dem alle 
2s ausgeben. Idealerweise nicht den kompletten String auf einmal, 
sondern in einzelne Zeichen oder Zeichenpakete gestückelt und per per 
UART-TX-Interrupt, so dass dein Hauptprogramm öfters zum Zug kommt.

Lies mal auf Wikipedia den Artikel über Scheduler. Da sind ein paar 
Fragen zu Realtime und Prioritäten drin, die du dir bei deinem System 
auch stellen musst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren