Nios下按键中断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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就是一个成功男人背后默默支持他的女人。^_^...

 

以上是关于Nios下按键中断的主要内容,如果未能解决你的问题,请参考以下文章

nios II--实验4——按键中断软件部分

s3c2440裸机-异常中断(四. irq之外部中断)

Linux编写一个Linux按键中断Demo

Linux编写一个Linux按键中断Demo

GPIO—按键轮询

按键驱动硬件操作实现