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

弱弱的问个定时器中断程序的编写问题

弱弱的问个定时器中断程序的编写问题

我在SOPC里面设定一个NIOS2,一个ONCHIP_RAM,一个INTERNAL_TIMER,还有4根PIO控制4个LED,时钟频率为25Mhz。
想设计一个定时器程序,每500ms中断一次,闪LED,程序如下:
int main (void) __attribute__ ((weak, alias ("alt_main")));

alt_u8 x = 0x5;

static void timer_interrupts(void* context, alt_u32 id)
{
  IOWR_ALTERA_AVALON_TIMER_STATUS(SYS_TIMER_BASE, 0);//清TO标志
  IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, x);//控制LED
  if(x==5)x=0xA;
  else x=5;
}

int alt_main (void)
{
  
  alt_irq_register(SYS_TIMER_IRQ, (void*)&x, timer_interrupts);
  IOWR_ALTERA_AVALON_TIMER_PERIODL(SYS_TIMER_BASE, 0xBC20);
  IOWR_ALTERA_AVALON_TIMER_PERIODH(SYS_TIMER_BASE, 0xBE);//往periondh和periodl中写预置值
  IOWR_ALTERA_AVALON_TIMER_CONTROL(SYS_TIMER_BASE, 7);//启动timer允许中断,连续计数

  while (1)
  {
    ;
  }

  return 0;
}
编译通过了,但是下载的时候出现verify failed
设定程序放在onchip_ram里面
哪位大侠知道这是怎么回事啊?!采用HELLO_LED的程序下载调试均正常啊!
哪位大哥知道啊?!自己顶一下。。。
返回列表