button_irq.c

来自「此源码是利用altera公司的nios II IDE开发的」· C语言 代码 · 共 18 行

C
18
字号
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "sys/alt_irq.h"

static void handle_button_irq(void *context,alt_u32 id)
{volatile int *edge_cap_ptr;
 *edge_cap_ptr=IORD_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE);
 IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,*edge_cap_ptr);
 IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE, 0) ;
}

int main(void)
{ volatile int *edge_cap;
  alt_irq_register(BUTTON_PIO_IRQ,(void*)&edge_cap,handle_button_irq);
  IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_BASE, 0xf);
  while(1);
}
  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?