#include "system.h"<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
#include "altera_avalon_pio_regs.h"
#include "altera_avalon_timer_regs.h"
#include "alt_types.h"
#include "stdio.h"
#include "io.h"
#include "sys/alt_irq.h"
static void Key_ISR(void *Base_address,alt_u32 ID)
{
……
IOWR_ALTERA_AVALON_PIO_EDGE_CAP((alt_u32)Base_address,0x0);//清捕获寄存器,此处 有一个强制类型转换
// IOWR_ALTERA_AVALON_PIO_IRQ_MASK(KEY_BASE, 0x0);//中断禁止
……
}
int main (void)
{
alt_u8 key1,key2;
key1 = 0; key2 = 0;
alt_irq_register(KEY_IRQ, KEY_BASE,Key_ISR);//注册按键硬件中断函数
//中断号 中断寄存器基地址 中断函数入口地址
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(KEY_BASE, 0xf);//中断使能
……
}
文章评论(0条评论)
登录后参与讨论