[an error occurred while processing this directive]
|
#include #pragma vector=0x18 __irq __arm void IRQ_ISR_Handler (void) void T0isr (void) int main(void)
#include
{
void (*interrupt_function)();
unsigned int vector;
static unsigned int us_count;
vector = VICVectAddr;
interrupt_function = (void(*)())vector;
(*interrupt_function)(); // Call vectored interrupt function
VICVectAddr = 0; // Clear interrupt in VIC
}
{
static int val;
val = T0CR0;
T0IR |= 0x1; //Clear match 0 interrupt
VICVectAddr = 0x00000000;//Dummy write to signal end of interrupt
}
//-----------------------------------------
void InitFull(void)
{//èíèöèàëèçàöèÿ ïîñëå âêëþ÷åíèÿ
}
{
IODIR = 0x00000004;
VPBDIV = 2;// Pclk íà 30 Mhz
PINSEL0_bit.P0_2 = 2;// òàéìåð 0 (Cap1)
T0PR = 0x0000001E; //Load prescaler
T0TCR = 0x00000002; //Reset counter and prescaler
T0CCR = 0x00000005; //enable timer
T0TCR = 0x00000001; //enable timer
MEMMAP = 1;
VICVectAddr4 = (unsigned)T0isr; //Set the timer ISR vector address
VICVectCntl4 = 0x00000024; //Set channel
VICIntEnable |= 0x00000010; //Enable the interrupt
__enable_interrupt();
while(1);
}
Ответы
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание