// {{{ 中断初始化 void irq_init(void) void irq_init(void) { // 将协处理器P15的寄存器C1中的bit24置1,该比特位为VIC使能位 __asm__( "mrc p15, 0, r0, c1, c0, 0\n" "orr r0, r0, #(1 << 24)\n" "mcr p15, 0, r0, c1, c0, 0" ); // 关闭所有中断 VIC0INTENCLEAR = 0xffffffff; // 清空VICxADDR VIC0ADDRESS = 0; // 中断挂起标志位清零, Each bit is cleared by writing "1"; EINT0PEND = 0xffffffff; #ifdef IRQ_KEY // 开启外部按键中断 key_irq_init(); #endif #ifdef IRQ_TIMER // 开启定时器中断 timer_irq_init(); #endif }
void touch_test(void) { touch_init(); key_irq_init(); }