日韩性视频-久久久蜜桃-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第四课 按键中断的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲美女性生活 | 国偷自产av一区二区三区麻豆 | 欧美a级在线免费观看 | av视觉盛宴 | 91亚洲欧美激情 | 免费看日批视频 | 丁香六月av| 亚洲无码精品国产 | 欧美大波大乳巨大乳 | 捆绑japanhdxxxxvideos | 亚洲国产高清视频 | 四虎音影| 视频在线观看视频 | 91超碰在线免费观看 | 日本视频在线免费观看 | 精品成人无码久久久久久 | 国产在线视频自拍 | 成人免费视频国产免费麻豆 | 人人妻人人澡人人爽人人欧美一区 | 欧美黑人精品一区二区不卡 | 日皮毛片| 最新黄色av网站 | 欧美精品一区视频 | 欧美色图狠狠干 | 青青草这里只有精品 | 探花国产 | 久色成人网| 亚洲精品wwww| 久久成人av | 好屌妞视频这里只有精品 | 女人一级一片30分 | 国产日韩综合 | 爆操欧美| 国产又黄又爽 | 国产3级在线 | a级在线观看| 粉嫩av一区二区三区四区五区 | 91精品网站| 日日夜精品 | 色九九| 午夜网 | 最新av免费观看 | 国产第一福利 | 深喉口爆一区二区三区 | 亚洲高清免费 | 国产香蕉视频在线观看 | 潘金莲裸体一级淫片视频 | 久草视频在线播放 | 成人1区2区| 免费涩涩 | 男人天堂99 | 色激情五月 | 综合在线亚洲 | 91老女人| 日韩三级一区二区 | 免费午夜av | 亚洲高清中文字幕 | 精品小视频在线观看 | eeuss鲁丝片一区二区三区 | 国产中年熟女高潮大集合 | 亚洲a视频在线观看 | 国产精品一二 | 永久av免费在线观看 | 亚洲男人天堂影院 | 国产真人无遮挡作爱免费视频 | 日日摸夜夜 | 国产精品刺激 | 亚州av免费 | 免费黄色在线网站 | 侵犯亲女在线播放视频 | 日日夜夜撸啊撸 | 日日摸天天爽天天爽视频 | 不卡精品视频 | 欧美黑人一区二区三区 | 国产美女免费 | 欧美成人国产va精品日本一级 | 在线观看国产小视频 | 国产精品日韩欧美一区二区三区 | 国产天堂在线观看 | 欧美一区二区三区日韩 | 国产免费一区二区三区网站免费 | 高清一区二区三区四区 | 自拍偷拍第 | 激情欧美一区二区三区 | 亚洲理论在线观看 | 久久久久国产精品午夜一区 | av成人在线免费观看 | 91精品中文字幕 | 小视频成人 | 中文字幕乱码人妻二区三区 | 欧美日韩精品亚洲精品 | 亚洲av永久无码精品一区二区国产 | 国产一级全黄 | 又骚又黄的视频 | 小小姑娘电影大全免费播放 | 国产九九九| 亚洲精品视频免费观看 | 亚洲国产一区二区三区四区 | 99久久国 |