Interrupt Code LPC21XX.H

Gast #642998
Lesenswert?
• ▲
▼
Hallo,

ich kann diese kleine Code nicht nachvollziehen ,ich bin neu in sachen 
mikrocontroller programmierung.
Können Sie mir bitte helfen und in kürze Sätze den Code erklären.

Danke
Manuel Forino


#include <LPC21XX.H>                     // LPC21XX Peripheral Registers
#include "Timer.h"

long volatile timeval;

/* Timer Counter 0 Interrupt executes each 10ms @ 60 MHz CPU Clock */
__irq void tc0 (void) {
  timeval++;
  T0IR = 1;                                    // Clear interrupt flag
  VICVectAddr = 0;                             // Acknowledge Interrupt
}

/* Setup the Timer Counter 0 Interrupt */
void init_timer (void) {
  T0MR0 = 149999;                       // 10mSec = 150.000-1 counts
  T0MCR = 3;                           // Interrupt and Reset on MR0
  T0TCR = 1;                           // Timer0 Enable
  VICVectAddr0 = (unsigned long)tc0;     // set interrupt vector in 0
  VICVectCntl0 = 0x20 | 4;              // use it for Timer 0 Interrupt
  VICIntEnable = 0x00000010;          // Enable Timer0 Interrup
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren