Datum:
Angehängte Dateien:Hallo, auf dem Speiseplan steht eine Implementierung eines Schedulers (um automatisch mehrere Zweige aus der main-loop verarbeiten zu lassen) und ein Timer. Das ganze ist objektorientiert gehalten und in C++ geschrieben. Das ganze ist so angelegt dass es leicht in ein Projekt eingebunden kann. Hier ein Beispiel:
#include "scheduler.h" #include "timer.h" class Task1: public SchedulerItem { private: Timer timer; //this expands our scheduleritem to a timer protected: void Execute(void); //this method is called from the mainloop (indirectly) public: Task1(void); }; Task1::Task1(void) { //Constructor... DDRB |= 1<<PB7; //just for debugging... timer.SetTime(1000); //flag timer in 1000 ms } void Task1::Execute(void) { if (timer.IsFlagged()) { PORTB ^= 1<<PB7; //just for debugging... timer.SetTime(1000); //flag the timer in 1000 ms } //...other things to do within this task... } Task1 task1; |
Das angehängt Testprogramm lässt einen Pin jede Sekunde auf einem Mega64 umschalten. Schönen Gruß Stefan