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

NIOS2的中断是不是做的很烂

NIOS2的中断是不是做的很烂

NIOS2的中断是不是做的很烂,不知道有人用过没有,按它手册上说,无非是建中断写中断和开中断三步,可我就是收不到按键中断,哪位大侠能不能提供一个已调试好的中断例子啊
兄弟,看看counter_binary,我试过里边的按键中断,可以用!
爱拼才会赢
还不错
要用main()不要用alt_main,
然后就可以用HAL里的API了
跟手册上一样,有有点自己写过
asdfsdf
在软件文档中有一个c的代码for ISR的,你仔细看看,中断还是比较好用的, 不过千万要记住清除操作。
void EnableKeyInterrupt ()
{
/* Write to the edge capture register to reset it. */
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE, 0);
/* reset interrupt capability for the Button PIO. */
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_BASE, 0xf);
}
在交流中前进,共同实现nios的应用。
BUTTON_PIO的中断还可以,自己做的不好用,不知道有没有他的源码////////
http://tutanlong.bokee.com
你说说你自己做什么样的中断不好用呢。
在交流中前进,共同实现nios的应用。
中断服务程序里要清除操作
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_BASE, 0xf);

自已做一个带中断的IP,要怎样定义这个中断寄存器呢,我是直接在源码里清的中断标志,不是通过NIOS清除的,

因为在源码里定义的标志寄存器,对NIOS来说是输入信号,而在NIOS时对它进行操作时,对NIOS来说又必须是输出的,好像不能定义一个双向的数据线(readdata,writedata都只能是单向的)
http://tutanlong.bokee.com
????
http://tutanlong.bokee.com
我的跳变中断还可以用的
你如果要时钟和pio口的跳变中断的话我可以发给你.但是我的pio口的leve中断就是不行啊
能不能 帮我看一下
下面是我写的代码:
#include "stdio.h"
#include "altera_avalon_pio_regs.h"
#include "sys/alt_irq.h"
#include "system.h"
#include "alt_types.h"

volatile int temp;
volatile int data;

void handle_buttom_interrupt(void)
{
data=IORD_ALTERA_AVALON_PIO_EDGE_CAP(BUTTOM_4_BASE);
//IOWR_ALTERA_AVALON_PIO_EDGE_CAP(LED_BASE,data);
printf("LAST_TEMP=%d\n",temp);
if(temp!=data)
{
temp=data;

printf("NOW_TEMP= %d\n",temp);
}
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTOM_4_BASE,0X00);
//IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTOM_4_BASE,0X00);
//IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTOM_4_BASE,0XFF);
}

int main(void)
{
//volatile int k;
printf("WAITING......\n");
alt_irq_register(2,0,(void *)handle_buttom_interrupt);
printf("WAITING......\n");
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTOM_4_BASE,0XFF);
while (1);
}
1 .为什么不能检测到\电平的跳变?
2.在printf()函数中的" "中的内容长点的话为什么不能全部显示出来
如下面的:
printf("dfjsdfjdsklhgkdfkmciydfhiceriufcrejcfrurecfuerkufcerux9erkwuf\n");
显示的时候却出现了
dfjsdfjdsklhgkdfkmciydfhiceriufc
然后就出现了程序不运行了.
但是将""中的内容减小,程序就运行正常了(在边沿出发的情况下面,电平情况见上面的程序,不能正常运行) 在buttom_4的属性中我已经将它改成了电平格式.
返回列表