nios中alt_main下的中断问题

2019-03-25 10:51发布

在网上看了一下alt_main使用中断需要自己注册,但我注册了程序却任进不了中断程序。
我的程序如下:(sopc builder 中设置:一个input口,边沿中断 either edge ; 一个output口)
............................
#include "system.h"

#include "alt_types.h"

#include "sys/alt_irq.h"

#include "altera_avalon_pio_regs.h"

static void keydown(void* context,alt_u32 id)//中断处理函数

{

  IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_KEY_BASE, 0x0);

   while(1);
}
int alt_main(void)
{
   int   led=0;
   int   i;

    alt_irq_init(ALT_IRQ_BASE);//初始化中断

    alt_irq_enabled(  );//使能中断

    IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_KEY_BASE, 0x0);

    IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_KEY_BASE, 0x1);//打开中断

  alt_irq_register(PIO_KEY_IRQ,0,keydown);//注册中断函数

    while(1)
   {
      led = ~led;
      IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, led);//led灯闪烁
      i = 0;
      while(i<200000)
           i++;
   }
}
中断使能也用过alt_irq_enable_all(PIO_KEY_BASE );
不知为什么始终进不了中断程序(led灯一直在闪烁)~~  跪求why! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。