标题:
nios II 中的中断问题
[打印本页]
作者:
jkpol
时间:
2007-8-21 16:40
标题:
nios II 中的中断问题
各位大虾帮忙看一下一个 nios2 的中断程序,我是用网上的一些参考程序改的,但是无法进入中断服务程序
调试的时候 初始化中断后,
status=0x1,
ienable=0x1(中断号为32),但是就是进不了中断程序。是不是我的初始化有问题?
//定义了一个8bit 的端口PIO_0 接收中断
#include "sys/alt_irq.h"
alt_u8 led = 0xf0;
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(PIO_0_BASE);
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_0_BASE, 0);
led = 0x55;
}
void int_ini()
{
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_0_BASE, 0x00);
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_0_IRQ, 0xff);
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_0_IRQ, 0x00);
alt_irq_register(PIO_0_IRQ, (void*) &edge_capture,handle_button_interrupts);
edge_capture = 0;
}
void delay(void)
{
volatile int i=0;
while (i<20000)
i++;
}
int main (void)
{
int_ini();
IOWR_ALTERA_AVALON_PIO_DATA(LCD_DATA_BASE,0xf0);
while(1)
{
IOWR_ALTERA_AVALON_PIO_DATA(LCD_DATA_BASE,led);
delay();
}
return 0;
}
作者:
jkpol
时间:
2007-8-21 18:57
不好意思说错了,上面的中断号应该是 0
作者:
jkpol
时间:
2007-8-21 22:32
问题找到了,原来是引脚悬空导致的中断口电平不确定引起的
作者:
尘埃落定
时间:
2007-8-26 10:01
顶
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0