Nios下按键中断

  1. 中断类型:电平中断和沿中断。

  2. 操作步骤:中断使能,中断类型选择,中断服务函数注册。

         这里操作是使用库函数(其实不是函数,就是一种预定义),这样主要是为了提高程序可读性,用的是官方的东西,大家都能看明白。

       

static void Initial_Keys() { IOWR_ALTERA_AVALON_PIO_IRQ_MASK(KEY_OK_BASE,1);//中断使能 IOWR_ALTERA_AVALON_PIO_EDGE_CAP(KEY_OK_BASE,0);

alt_irq_register(KEY_OK_IRQ,NULL,KEY_OK_ISR);//注册中断服务函数

printf("register success!"); }

关于中断服务函数,在上一篇文章定时器中断文件有提及,不懂的可以自己去看看吧。

需要注意一点的是,我用的是nios ii 11.0,由于版本不一样。alt_irq_register这个函数不在#include"sys/alt_irq.h"这个目录下,但是可以在

#include“priv/alt_legacy_irq.h”目录下。

static void KEY_OK_ISR() { dir=RIGHT; }

中断服务函数很简单,不需要自己去清除中断标志位,打开中断使能什么的,这个相对一般的51单片机的操作会简单一些,因为很多事情os帮你做了。因为os就是一个成功男人背后默默支持他的女人。^_^...

原文地址:https://www.cnblogs.com/farbeyond/p/5202983.html