玩轉Zynq連載30——[ex52]基于Zynq PS的GPIO控制 更多資料共享 騰訊微云鏈接:https://share.weiyun.com/5s6bA0s 百度網盤鏈接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw 提取碼:ld9c 參考文檔《玩轉Zynq-基礎篇:Zynq PS的GPIO外設.pdf》。 打開ZYNQ7 Processing System的配置頁面Peripheral I/O Pins,可以看到右側若勾選GPIO MIO選項,在對應的MIO號若點擊變綠,則表示該MIO號將被用于GPIO功能。當然了,原則上所有的MIO都可以配置為GPIO,但是實際應用中大家不會這么干,MIO的分配需要從系統角度考慮,兼顧各個外設的需要。如果大多數的MIO都被其它外設占用了,而能用于GPIO的MIO捉襟見肘時也不用當心,可以打開GPIO EMIO,連接PL端的IO作為PS可控的GPIO使用,這個功能下一個例程我們會講,這里我們重點要來看看GPIO MIO怎么用。
Zstar板載2個LED,即D29和D30分別連接到了PS的MIO0(PS_LED0)和MIO9(PS_LED1)。
因此,在這個GPIO控制LED的實例中,我們不能夠讓任何會用到MIO0和MIO9的PS外設打開(勾選),而必須把MIO0和MIO9保留給GPIO MIO使用。
完成配置后,重新編譯PL工程,確保當前配置產生.bit文件。 參考文檔《玩轉Zynq-工具篇:導出PS硬件配置和新建SDK工程.pdf》。 其中新建SDK工程名稱為GPIO_MIO_project。
工程模板(Available Templates)選擇空白應用(Empty Application)即可。
展開新建工程GPIO_MIO_project,選中文件夾src,單擊右鍵,彈出菜單中選擇New --> Source File。
新建一個名為main.c的Default C source template源文件。
輸入GPIO控制MIO0和MIO9的程序,程序中實現MIO0和MIO9每秒高低交錯輸出,實現2個LED交錯閃爍的功能。
在Zstar板子上,設置跳線帽P3為JTAG模式,即PIN2-3短接。 接著參考《玩轉Zynq-工具篇:SDK在線運行裸跑程序.pdf》將zstar.bit文件和GPIO_MIO_project.elf文件燒錄到Zynq中運行起來。 程序運行起來后,我們就可以看到Zstar板上D4和D5這兩顆LED交替的閃爍起來。D4和D5這兩顆LED指示燈的位置示意如圖所示。
騰訊微云鏈接:https://share.weiyun.com/5s6bA0s 百度網盤鏈接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw 提取碼:ld9c |