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
:
Verschoben durch User
1) Auf welchem Rechenknecht soll das laufen und womit programmierst du? 2) Klappen diese Teilaufgaben bereits: 2a) String über UART ausgeben 2b) Timer für 2s Intervalle 2c) Scheduler
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.
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
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.
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.