【FPGA】Xilinx_ZYNQ7Z020——7. PL 按鍵中斷實驗

7. PL 按鍵中斷實驗

  • 前面的定時器中斷實驗的中斷屬於PS 內部的中斷
  • 本實驗中斷來自 PL PS 最大可以 接收16 個來自 PL 的中斷信號,都是上升沿或高電平觸發
  • 本實驗用按鍵中斷來控制 LED
    在這裏插入圖片描述

工程建立

  • 本實驗所用的 Vivado 工程只需要在“ ps_axi_led ”這個工程上添加用於按鍵輸入的 AXI GPIO 就可以
    在這裏插入圖片描述
  • 新的工程名爲“ ps_axi_key
    在這裏插入圖片描述
  • 添加一個 AXI GPIO
  • 配置 GPIO 參數,都爲輸入,寬度爲 1 ,使能中斷
  • 使用自動連接
  • 再把端口名稱改爲 keys
  • 配置 ZYNQ 處理器的中斷,勾選 IRQ_F2P
  • 連接 ip2intc_irpt 到 IRQ_F2Q
  • 修改 xdc 約束文件
  • 保存 設計,編譯生成 bit 文件
    在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

下載調試

  • 運行 SDK ,由於是從其他工程複製而來 SDK 下有很多我 們不需要的文件,全部刪除,然後關閉 SDK 重新運行
    在這裏插入圖片描述
  • 新建一個 APP
    在這裏插入圖片描述
  • 設置 Project name 爲“ key_test
    在這裏插入圖片描述
  • 程序編寫的情況下,我們儘量使用 SDK 自帶例程來修改
    在這裏插入圖片描述
  • 選擇“ xgpio_intr_tapp_example
    在這裏插入圖片描述
  • 導入例程以後有未定義的錯誤,我們需要修改部分代碼
    在這裏插入圖片描述
  • 修改 GPIO 和中斷號的宏定義
    在這裏插入圖片描述
  • 修改測試延時時間,讓我們有足夠的時間去按按鍵
    在這裏插入圖片描述
  • 打開串口終端,運行程序
    在這裏插入圖片描述
  • 如果一直不按按鍵,串口顯示“ No button pressed …””,如果按下 PL KEY1 按鍵 顯示“ Successfully ran Gpio Interrupt Tapp Example”
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章