清霜一梦 发表于 2010-6-10 23:30:03

请教NiosII中断问题

我刚接触到SOPC   我的请教帖有好几个了呵呵
我想用timer弄出一个中断   但是在网上找的程序我看不懂啊   虽然是学了C语言 还是很懵啊
还请高手给解释一下   这些是什么东西啊
特别是一些 *   是什么东西啊   不可能也是指针吧


static void init_button_pio() {                                                            

void* edge_capture_ptr = (void*)&edge_capture;      // 这个(void*)什么东西啊      
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_BASE,0xf);
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE,0x0);
//注册一个中断处理子程序handle_button_interrupts()
alt_irq_register(BUTTON_PIO_IRQ,edge_capture_ptr,handle_button_interrupts);



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);
}

清霜一梦 发表于 2010-6-11 20:59:04

回复 1# 清霜一梦


    alt_irq_register(BUTTON_PIO_IRQ, 0,ISR_ButtonDown);
可是这里的 0还是看不懂啊   有时候我看到的不是 0而是一个变量   劳烦解释一下!!!

int main (void) __attribute__ ((weak, alias ("alt_main")));
这又是什么东西呢weak   alias干什么用的

hai0000001 发表于 2010-6-19 15:31:09

(void*)就是指针,只不过这个指针是未知的,你可以用到时将其强制转换成指定的类型,就像handle_button_interrupts这个函数里那样

Sunlife 发表于 2015-5-20 15:10:01


(void*)就是指针,只不过这个指针是未知的,你可以用到时将其强制转换成指定的类型,就像handle_button_interrupts这个函数里那样
页: [1]
查看完整版本: 请教NiosII中断问题