nios ii中断问题
#include "../inc/sopc.h"#include "system.h"
#include "sys/alt_irq.h"
#include <unistd.h>
#include <stdio.h>
int key_flag = 0;
void ISR_key(void * context,unsigned long id)
{
key_flag = ~key_flag;
}
int init_key(void)
{
KEY->INTERRUPT_MASK = 1;//允许中断
KEY->EDGE_CAPTURE = 0;
returnalt_irq_register(KEY_IRQ,NULL,ISR_key); //中断注册成功返回1
}
int main()
{
if(!init_key())
{
printf("register successfully!\n");
}
else{
printf("Error: register failure!\n");
}
while(1)
{
if(key_flag)
{
LED->DATA = 1;
}
else
{
LED->DATA =0;
}
}
return 0;
}
这中断初始化中的 KEY->EDGE_CAPTURE = 0; 是干吗用的?
void ISR_key(void * context,unsigned long id)
中断函数中的void * context,unsigned long id的值是在哪里赋给他的?
初学nios ii请高手指教,不胜感激!! 补充下 context 跟 id的值有什么用?
页:
[1]