Alguma alma caridosa poderia me explicar de onde veio este valor (0x20 | 4), onde esta escrito que este valor é para Timer 0 ??? li o data vi muitos exemplos e não faço a minima idéia de onde são tirados este valores que ficam armazenados neste registrador. se fosse para UART 1 que valor seria
e porque ??
VICVectCntl0 = 0x20 | 4; // use it for Timer 0 Interrupt
j.silvestre
----------------------------------------------------------------------------------------
#include <LPC214X.H> // LPC21XX Peripheral Registers
#include "Timer.h"
long timeval;
void tc0 (void) __attribute__ ((interrupt)); // Generate Interrupt
/* Setup the Timer Counter 0 Interrupt */
void init_timer (void) {
TIMER0_MR0 = 149999; // 10mSec = 150.000-1 counts
TIMER0_MCR = 3; // Interrupt and Reset on MR0
TIMER0_TCR = 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 Interrupt
}
/* Timer Counter 0 Interrupt executes each 10ms @ 60 MHz CPU Clock */
void tc0 (void) {
timeval++;
TIMER0_IR = 1; // Clear interrupt flag
VICVectAddr = 0; // Acknowledge Interrupt
}