韦东山的hardware文件下的adc_ts中的interrupt.c,看不懂
时间:10-02
整理:3721RD
点击:
- void (*isr_handle_array[50])(void);
- void Dummy_isr(void)
- {
- while(1);
- }
- void init_irq(void)
- {
- int i = 0;
- for (i = 0; i < sizeof(isr_handle_array) / sizeof(isr_handle_array[0]); i++)
- {
- isr_handle_array[i] = Dummy_isr;
- }
- INTMOD = 0x0; // 所有中断都设为IRQ模式
- INTMSK = BIT_ALLMSK; // 先屏蔽所有中断
- // isr_handle_array[ISR_IIC_OFT] = I2CIntHandle;
- }
- void IRQ_Handle(void)
- {
- unsigned long oft = INTOFFSET;
-
- //清中断
- if (oft == 4)
- EINTPEND = 1<<7; //EINT4-7合用IRQ4,注意EINTPEND[3:0]保留未用,向这些位写入1可能导致未知结果
- SRCPND = 1<<oft;
- INTPND = INTPND;
- /* 调用中断服务程序 */
- isr_handle_array[oft]();
- }
Dummy的意思是虚拟的假的,所以这个只是用来测试的。