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

大虾帮我看看这段代码

大虾帮我看看这段代码

#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
#include "altera_avalon_timer_regs.h"
    alt_u8 led = 0;
   static void timer_interrupts(void* context, alt_u32 id)
   { 
    IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE, 0);


   if(led==7) led=0;
        else  led=led+1;
   }
     
   int main ()
   {
    alt_irq_register(TIMER_IRQ, (void*) &led, timer_interrupts);


(上面这句报错,在building的时候,其实我也没完全理解这句的意思,能帮我解释一下最好)
    IOWR_ALTERA_AVALON_TIMER_PERIODL(TIMER_BASE, 0x20);
    IOWR_ALTERA_AVALON_TIMER_PERIODH(TIMER_BASE, 0xBE);
    IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER_BASE, 7);
    while (1)
    {
       switch(led)
       {
          case 0: IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x01);
          case 1: IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x02);
          case 2: IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x04);
          case 3: IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x08);
          case 4: IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x10);
          case 5: IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x20);
          case 6: IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x40);
          case 7: IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x80);
          default:  IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, 0x01);     
          }
    }
     return 0;
      }

应该写成如下所示:
alt_irq_register(TIMER_IRQ, TIMER_BASE, timer_interrupts);
不怕困难,勇往直前
你好,能不能够解释一下呢?我就是不明白alt_irq_register()中间那个指针变量是搞点什么的。。谢谢。
前天在altera借了块板子,想学学nios却被中断卡住了。。。这两的天看资料都头大了。
改了重编了一下 还是有问题
Error launching external scanner info generator (make -s -C Debug listincludedirs)
implicit declaration of function `alt_irq_register' hello_led.c
是不是alt_irq_register的头文件没有包
是不是alt_irq_register的头文件没有包
头文件没有包含。
在交流中前进,共同实现nios的应用。
返回列表