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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SOPC第四课 按键中断

發布時間:2025/4/5 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SOPC第四课 按键中断 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

按鍵
LED控制
開發板 小梅哥AC620
軟件 quartus 13.1

2個按鍵,當按鍵0按下時,LED燈開始閃爍;當按鍵1按下時,LED燈停止閃爍。
使用一個PIO 這個PIO設置為6位(4個LED+2個按鍵)
PIO設置為bidir型 位寬為6位
能夠捕獲邊沿下降沿
能夠產生中斷、邊沿中斷
要求使能單獨位的設置和清零
使能邊沿捕獲寄存器的單獨位清零

頂層代碼PL部分

module nios_pio_led(clk,rst_n,key,key_gnd,led );input clk;input rst_n;output key_gnd;inout [1:0]key;inout [3:0]led;assign key_gnd = 0;mysystem u0 (.clk_clk (clk), // clk.clk.reset_reset_n (rst_n), // reset.reset_n.pio_led_export ({key,led}) // pio_led.export);endmodule

PS部分

#include "stdio.h" #include "system.h" #include "alt_types.h" #include "altera_avalon_pio_regs.h" #include "sys/alt_irq.h"alt_u8 led_enable=0; alt_u32 i,data;alt_isr_func isr(void)//中斷服務函數 {IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_LED_BASE, 0x00); //關閉按鍵中斷data=IORD_ALTERA_AVALON_PIO_EDGE_CAP(PIO_LED_BASE);if(data&0x20) //這樣寫的原因是無法確定低4位的值led_enable=0;else if(data&0x10) //停止按鍵按下led_enable=1;else{led_enable=0;}IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_LED_BASE,0X30);//清除邊緣捕獲寄存器IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_LED_BASE,0X30);//開中斷return 0; } int main(void) {char *p;IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_LED_BASE, 0x0f); //設置低4位為輸出,高2位為輸入alt_ic_isr_register( PIO_LED_IRQ_INTERRUPT_CONTROLLER_ID, PIO_LED_IRQ, isr, p, 0);//注冊中斷函數IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_LED_BASE, 0x30); //清零所有的捕獲位IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_LED_BASE, 0x30); //打開按鍵中斷while(1){if(led_enable==1){while(i<=500000){i++;}IOWR_ALTERA_AVALON_PIO_CLEAR_BITS(PIO_LED_BASE,0x8);//低電平,LED4小燈點亮,i=0;while(i<=500000){i++;}i=0;IOWR_ALTERA_AVALON_PIO_SET_BITS(PIO_LED_BASE,0x8);//第3位置位,高電平,LED4小燈熄滅}else if(led_enable==0){IOWR_ALTERA_AVALON_PIO_SET_BITS(PIO_LED_BASE,0xF);//第3位置位,高電平,LED4小燈熄滅}}return 0; }

實驗效果

  • 矩陣鍵盤說明


矩陣鍵盤有兩組,共有8跟信號線,其中COL每一列的四個按鍵的一端連接起來,而ROW則將每一行的4個按鍵的一端連接起來,通過4行4列的8根信號線,總共能夠管理16個按鍵。用4個IO得到了16個按鍵。

可看出,我們把COL0接地,按鍵按下為0,不按為1.(后續再繼續學習如何學習電路原理圖)

中斷的頭文件,在sys路徑下面

劃線定義i,要注意了,我們下面是500000,大于了u8類型,所以這也是個坑,一定要注意自己定義的數是否夠用。


定義方向,這也很是個坑,我原先就沒有找出是什么原因導致錯誤,后來弄了半天才想到,inout的方向沒有設置,默認是輸出的。
然后注冊中斷函數,每一個元素前面,不用再次聲明數據類型

這里消耗時間是while,不是if判斷,if是并行的選擇,不是順序

以上分別是全速運行、step into step over step return
并且可以看到變量
還可以設置斷點。
另外如果出錯,記得,在run configure 里面重新refresh 一下blaster

總結

以上是生活随笔為你收集整理的SOPC第四课 按键中断的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丁香激情综合 | 欧美做受69 | 日本少妇全体裸体洗澡 | 欧美亚洲国产一区 | 99国产精品久久久久久久成人热 | 99精品在线免费观看 | 国产精品99久久久久久久女警 | 国产片淫乱18一级毛片动态图 | 动漫美女被到爽 | 浪漫樱花动漫在线观看免费 | 日韩免费三级 | 美女下部无遮挡 | 国产三级在线播放 | 亚洲人视频 | 伊人资源网 | 国产精品第9页 | 亚洲人在线观看视频 | 田中瞳av| 最新av在线播放 | 男人把女人捅爽 | 红桃视频黄色 | 狠狠干老司机 | 欧美深性狂猛ⅹxxx深喉 | 精品色综合| 国产九色 | 华人永久免费 | av电影在线观看网址 | 国产精品美女久久久久av超清 | 精品少妇一区二区三区密爱 | 全部毛片永久免费看 | 国产精品久久久久久亚洲伦 | 亚洲一级片免费看 | 欧美日韩欧美日韩在线观看视频 | 日韩女同互慰一区二区 | 少妇无内裤下蹲露大唇视频 | 尤物国产| 国产swag在线 | 性xxxx| 在线观看不卡av | 婷婷综合一区 | 开心色婷婷 | 国产精品高潮呻吟久久久久久 | 日本aaaa| 国产对白videos麻豆高潮 | 欧美国产精品一二三 | 欧美色图11p | 国产视频久久久 | 成人深夜福利在线观看 | 北条麻妃一区二区三区在线观看 | 中文字幕日日 | 亚洲天堂手机在线 | 人人人妻人人澡人人爽欧美一区 | 久久人妻少妇嫩草av无码专区 | 美女久久久久久久久久 | 香蕉视频影院 | 国产资源精品 | 超碰97在线人人 | av免| 在线天堂中文在线资源网 | 人妻少妇精品无码专区久久 | 成人天堂噜噜噜 | 亚洲中文字幕视频一区 | 国产成年人视频 | 美女福利视频 | 熟妇高潮一区二区高潮 | 国产女主播视频 | 天天摸天天碰天天爽天天弄 | 人妻一区二区三区四区五区 | 四虎永久在线精品 | 99re6在线观看| 在线观看福利网站 | 欧美日韩日本国产 | 丰满人妻一区二区三区精品高清 | 亚洲国产精品成人va在线观看 | 久久综合伊人77777麻豆最新章节 | 国产美女免费网站 | av新天堂| 亚洲视频一二三四 | 免费观看黄色av | 久久免费在线观看视频 | 日本毛片网站 | 一卡二卡在线观看 | 男男上床视频 | 国产污污 | 国产传媒在线视频 | 男女日批网站 | 日韩精品中文字幕在线观看 | 黄网视频在线观看 | 久久天堂av综合合色蜜桃网 | 久久国产精品久久久久 | 91视频88av| 狠狠爱免费视频 | 欧美成人精品一区二区男人小说 | 蜜乳av中文字幕 | xxsm.com| 毛片a级片 | 久久精品国产99国产精品 | 黄色一级片在线播放 | 国产精品手机在线 |