TMRx modul


      Makrók a TMR0, TMR1 és TMR2 kezelésére. Ha a timer modult már használod az adott projektben, akkor a TMR0 makrókat ne használd, mert ugyanazt a timert kezelnék. Együtt nem müködnek.

Szükséges definiciók a főprogramban

xtal_freq       EQU     4000000                 ; oscillátor frekvencia
core_freq       EQU     xtal_freq/4             ; Az MCU magjának frekvenciája.

Opcionális definiciók a főprogramban

#define DEBUG                           ; Ha definiálva van, akkor forditási időben
                                        ; információkat kapunk.
#define NO_DELAY                        ; A simulálához kiiktatja az várakozásokat

Makrók

Név Paraméter Leirás
TMR0_INIT pre Inicializálja az TMR0-át
pre Az előosztó értékét állíthatjuk be. Lehetséges értékek: 1, 2, 4, 8, 16, 32, 64, 128, 256
TMR0_START time_ns Elinditja a TMR0-át
time_ns a timer lejárati ideje
TMR0_STARTW Elinditja a TMR0-át a W-ben lévő értékkel, amit felbontasi egységben kell értelmezni. A felbontási egység függ az órajeltől és az előosztó értékétől. A DEBUG bekapcsolásakor fordítás közben kiiródik az értéke.
TMR0_OUT label Megvizsgálj, hogy lejárt-e a TMR0, ha igen akkor a label-re ugrik.
TMR0_NOTOUT label Megvizsgálj, hogy lejárt-e a TMR0, ha nem akkor a label-re ugrik
TMR0_WAIT time_ns Elinditja a TMR0-át, és megvárja a lejáratát, csak akkor tér vissza.
time_ns a timer lejárati ideje
TMR1_INIT pre Inicializálja az TMR1-et
pre Az előosztó értékét állíthatjuk be. Lehetséges értékek: 1, 2, 4, 8
TMR1_START time_ns Elinditja a TMR1-et
time_ns a timer lejárati ideje
TMR1_STARTW Elinditja a TMR1-et a tmr1hi:W-ben lévő értékkel, amit felbontasi egységben kell értelmezni. A felbontási egység függ az órajeltől és az előosztó értékétől. A DEBUG bekapcsolásakor fordítás közben kiiródik az értéke.
TMR1_OUT label Megvizsgálj, hogy lejárt-e a TMR1, ha igen akkor a label-re ugrik.
TMR1_NOTOUT label Megvizsgálj, hogy lejárt-e a TMR1, ha nem akkor a label-re ugrik
TMR1_WAIT time_ns Elinditja a TMR1-át, és megvárja a lejáratát, csak akkor tér vissza.
time_ns a timer lejárati ideje
TMR1_STOPPER_START Elinditja a TMR1-et mint stopper
TMR1_STOPPER_STOP Leállitja a TMR1-et mint stopper, az eredmény a TMR1H:TMR1L-ba kerül, túlcsordulást a TMR1_STOPPER_OVERFLOW bit jelez.
TMR2_INIT pre Inicializálja az TMR2-át
pre Az előosztó értékét állíthatjuk be. Lehetséges értékek: 1, 4, 16
TMR2_START time_ns Elinditja a TMR2-őt
time_ns a timer lejárati ideje
TMR2_STARTW Elinditja a TMR2-őt a W-ben lévő értékkel, amit felbontasi egységben kell értelmezni. A felbontási egység függ az órajeltől és az előosztó értékétől. A DEBUG bekapcsolásakor fordítás közben kiiródik az értéke.
TMR2_OUT label Megvizsgálj, hogy lejárt-e a TMR2, ha igen akkor a label-re ugrik.
TMR2_NOTOUT label Megvizsgálj, hogy lejárt-e a TMR2, ha nem akkor a label-re ugrik
TMR2_WAIT time_ns Elinditja a TMR0-át, és megvárja a lejáratát, csak akkor tér vissza.
time_ns a timer lejárati ideje