direction:input
output register不打勾
Synchronously capture打勾
Edge Type: FALLING
enable bit-clearing for edge capture register可打可不打,区别见下文
generate IRQ打勾
IRQ Type: EDGE
#include "../files/key.h"
void init_key(void)
{
KEY->INTERRUPT_MASK = 1;
alt_irq_register(PIO_KEY_IRQ,NULL,ISR_key); //注册中断
}
void ISR_key(void * context,unsigned long id)
{
static uchar key_flag=0;
usleep(200000);//消抖
if(key_flag==0)
{
LED->DATA=0;
key_flag=1;
}
else
{
LED->DATA=1;
key_flag=0;
}
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_KEY_BASE, 1);//清除中断标志位