首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ALT_IRQ_NOT_CONNECTED' undeclared (first use in this function)

ALT_IRQ_NOT_CONNECTED' undeclared (first use in this function)

我在做中断程序。
在注册函数alt_irq_register中
出现:ALT_IRQ_NOT_CONNECTED' undeclared (first use in this function)
这个错误。
但是我程序中并没有用倒这个啊。。看不倒。。为什么啊?

代码:

很简单的中断。
#include<stdio.h>
#include"alt_types.h"
#include"system.h"
#include"sys/alt_irq.h"
#include"altera_avalon_pio_regs.h"
volatile int edge_capture;
static void handle_button_interrupts(void*context,alt_u32 id)
  {
  volatile int*edge_capture_ptr=(volatile int *)context;
  *edge_capture_ptr=IORD_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE);
  IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE,0);//清边沿捕获寄存器
  }
static void init_button_pio()
 {
  void*edge_capture_ptr=(void*)&edge_capture;
  IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_BASE,0Xf);
  IOWR_ALTERA_ALALON_PIO_EDGE_CAP(BUTTON_PIO_BASE,0x0);
  alt_irq_register(BUTTON_PIO_IRQ,edge_capture_ptr,handle_button_interrupts);
 }
static void TestButtons(void)
  {
  alt_u8 buttons_tested;
  alt_u8 all_tested;
  int last_tested;
  buttons_tested=0x0;
  all_tested=0xf;
  edge_capture=0;
  last_tested=0xffff;
  prinitf("\nThe test will be end when all buttons have been pressed.\n");
  while(buttons_tested!=all_tested)
  {
  if(last_tested==edge_capture)
     {continue;}
  else
    {
    last_tested=edge_capture;
    switch(edge_capture)
      {
       case 0x1:
          printf("\nBUTTON 1 Press.\n");
          buttons_tested=buttons_tested|0x1;
          break;
        case 0x2:
          printf("\nBUTTON 2 Press.\n");
          buttons_tested=buttons_tested|0x2;
          break;
          case 0x4:
          printf("\nBUTTON 3 Press.\n");
          buttons_tested=buttons_tested|0x4;
          break;
          case 0x8:
          printf("\nBUTTON 4 Press.\n");
          buttons_tested=buttons_tested|0x8;
          break;
      }
    }
  }
  IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_BASE,0x0);
  printf("\nall button press.\n");
  usleep(2000000);
  return ;
  }
  static void MenuBegin(alt_8*title)
  {
    printf("\n \n");
    printf("------------------------------\n");
    printf("NIos ii board diagnostics\n");
    printf("------------------------------\n");
    printf("%s",title);
  }
int main()
{
MenuBegin("Main Menu:");
TestButtons();
return 0;
}

但是我程序中并没有用倒这个啊。。为什么啊?
返回列表