zoukankan      html  css  js  c++  java
  • nios pio interrupt 的使能

    关于nios 中的中断,因为要16c550中需要nios的中断环境去测试,所以就用到了中断。

    硬件:在nios中添加硬件PIO,但是要使能中断功能。如下图所示:

    系统列化,PIO的连接就不说了。但是要注意两地方:edge type, IRQ type。

    接下来就是软件设计:

    使能相应的中断,IOWR_ALTERA_AVALON_PIO_IRQ_MASK(INTREP_BASE, 0xff);即相对应的MASK函数每一位1位使能。

    清中断标志位:IOWR_ALTERA_AVALON_PIO_EDGE_CAP(INTREP_BASE, 0xff);

    (注:在此时是0x00 还是 0xff清除中断标志, enable bit-clearing for edge capture register的选项。在此我是使能了,即0xff清除标志位。反则,0x00清除中断标志位)

    中断注册函数:

    alt_ic_isr_register(INTREP_IRQ_INTERRUPT_CONTROLLER_ID, //定义在system.h中
              INTREP_IRQ,    //定义在system.h中
              intrp_isr,    //中断服务子函数
              isr_context,    //空指针   void * isr_context
              0x0   //保留位,但是要写

             );

    对应中断服务子函数:

    void intrp_isr(void) {

    printf("have enter the isr ");
    IOWR_ALTERA_AVALON_PIO_EDGE_CAP(INTREP_BASE, 0xff) ; //清标志位

    (注:在此时是0x00 还是 0xff清除中断标志, enable bit-clearing for edge capture register的选项。在此我是使能了,即0xff清除标志位。反则,0x00清除中断标志位)
    。。。。。。。。。。。。。。

    。。。。。。。。。。。。。。。
    }

    到此软硬件,设计完毕。只要对应的PIO,发生中断的条件,在nios 中就会响应中断,进入中断服务子函数。

  • 相关阅读:
    vCenter6.7的简单安装与使用
    大家来找茬
    Android APP分享功能实现
    为免费app嵌入Admob广告
    Google Admob广告Android全攻略1
    开始Admob广告盈利模式详细教程
    android软件中加入广告实现方法
    onWindowFocusChanged重要作用 and Activity生命周期
    WPF自定义控件与样式(4)-CheckBox/RadioButton自定义样式
    android之intent显式,显式学习
  • 原文地址:https://www.cnblogs.com/cornhill/p/3720943.html
Copyright © 2011-2022 走看看