-diese Library implementiert Timer und Pausenfunktionen
-Pausenfunktionen stoppen die CPU eine bestimmte Zeit
und warten bis die Zeit abgelaufen ist.
-Timerfunktionen kann man mit einer bestimmten Zeit starten
und dann im Programm zyklisch abfragen ob die Zeit schon abgelaufen ist.
-es wird nur ein 8bit Timer dafür benötigt
Funktionen :
1 2 3 4 5 6 7 8 9 | void MK3_INIT_TIMER(void); // zum initialisieren void MK3_WAIT_US(unsigned int pause_us); // wartet einige mikrosekunden void MK3_WAIT_MS(unsigned int pause_ms); // wartet einige millisekunden void MK3_WAIT_S(unsigned int pause_s); // wartet einige sekunden void MK3_TIMER_START_US(unsigned int timer_us); // startet Timer fuer mikrosekunden void MK3_TIMER_START_MS(unsigned int timer_ms); // startet Timer fuer millisekunden void MK3_TIMER_START_S(unsigned int timer_s); // startet Timer fuer sekunden void MK3_TIMER_STOP(void); // stoppt Timer bool MK3_TIMER_CHECK(void); // test ob Timer abgelaufen |
Beispiel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | //----------------------------------------------------------------------------- // Title : bsp_ub045_mk3_timer1 //----------------------------------------------------------------------------- // Funktion : Timer Test1 // Schaltung : myAVR MK3 //----------------------------------------------------------------------------- // Prozessor : ATMega2560 // Takt : 16 MHz // Sprache : C // Date : 31.05.2012 // Version : 1.0 // Autor : UB //----------------------------------------------------------------------------- #define F_CPU 16000000 #include <avr/io.h> #include <ub_mk3_2560/MK3_2560_TIMER.h> #include <ub_mk3_2560/MK3_2560_LED.h> //----------------------------------------------------------------------------- // Hinweis : Quick-Jumper Port-L muss gesetzt sein // - benutzt Timer Funktion fuer Wartezeiten // - LED-0 blinkt im 500ms Takt //----------------------------------------------------------------------------- int main (void) { MK3_INIT_TIMER(); // init vom Timer MK3_INIT_LED(); // Init der LEDs while (true) { MK3_LED_TOGGLE(LED0); // toggle LED Bit0 MK3_WAIT_MS(500); // warte 500 ms } return 0; } |
Hier die Library zum download :