日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nios pio interrupt 的使能

發(fā)布時(shí)間:2023/12/1 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nios pio interrupt 的使能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)于nios 中的中斷,因?yàn)橐?6c550中需要nios的中斷環(huán)境去測試,所以就用到了中斷。

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

?

系統(tǒng)列化,PIO的連接就不說了。但是要注意兩地方:edge type, IRQ type。

?

接下來就是軟件設(shè)計(jì):

使能相應(yīng)的中斷,IOWR_ALTERA_AVALON_PIO_IRQ_MASK(INTREP_BASE, 0xff);即相對應(yīng)的MASK函數(shù)每一位1位使能。

清中斷標(biāo)志位:IOWR_ALTERA_AVALON_PIO_EDGE_CAP(INTREP_BASE, 0xff);

(注:在此時(shí)是0x00 還是 0xff清除中斷標(biāo)志,?enable bit-clearing for edge capture register的選項(xiàng)。在此我是使能了,即0xff清除標(biāo)志位。反則,0x00清除中斷標(biāo)志位)

中斷注冊函數(shù):

alt_ic_isr_register(INTREP_IRQ_INTERRUPT_CONTROLLER_ID,?//定義在system.h中
          INTREP_IRQ, ? ?//定義在system.h中
          intrp_isr, ? ?//中斷服務(wù)子函數(shù)
          isr_context, ? ?//空指針 ? void * isr_context
          0x0   //保留位,但是要寫

         );

?

對應(yīng)中斷服務(wù)子函數(shù):

void intrp_isr(void) {

printf("have enter the isr \n");
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(INTREP_BASE, 0xff) ; //清標(biāo)志位

(注:在此時(shí)是0x00 還是 0xff清除中斷標(biāo)志,?enable bit-clearing for edge capture register的選項(xiàng)。在此我是使能了,即0xff清除標(biāo)志位。反則,0x00清除中斷標(biāo)志位)
。。。。。。。。。。。。。。

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

?

到此軟硬件,設(shè)計(jì)完畢。只要對應(yīng)的PIO,發(fā)生中斷的條件,在nios 中就會響應(yīng)中斷,進(jìn)入中斷服務(wù)子函數(shù)。

?

?

?

?

?

?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/cornhill/p/3720943.html

總結(jié)

以上是生活随笔為你收集整理的nios pio interrupt 的使能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。