27-Timer-Library (ATMega)

-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 :

UB_MK3_2560_TIMER_v101


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.