使用GPIO外设控制LED灯和按键。本开发板配备8个LED灯,其中4个连接到PS端,4个连接到PL端。此外,PL端还配有4个按键。本例程将演示如何使用这些外设。
创建vivado设计项目可以参考hello world例程,如下图所示已经创建完成项目。
双击ZYNQ核,添加GPIO外设,参考原理图可以看到,LED1~LED4使用的时MIO40~MIO43,其他4个LED与KEY使用的都是EMIO,所以配置修改为如下图所示。修改完成后将开启的EMIO引脚引出来,选择总线引脚后摁快捷键CTRL+T即可。
设置完成后生成生成底层与顶层模块的方法与hello world例程相同,生成bit文件前还需要添加引脚约束文件。Add Sources --> Add or create...-->Next
Create Fiel-->设置名称-->OK-->Finish
从原理图中可以看到PL的LED与KEY的引脚号。
打开引脚文件添加如下图所示内容,此文件可在项目文件夹中的file文件夹获取。
需要注意引脚绑定的内容需要与顶层文件中的引脚名称相同,若不同则需要修改。
确认完成引脚绑定无误后,生成bit文件和创建vitis项目以及创建hello world工程模板,这些步骤与hello world 例程相同,就不在此处重复演示。修改helloworld.c文件如下图所示,此文件可在项目文件夹中的file文件夹获取。
在原例中可以看出,为LED引脚输出高电平时MOS管导通,LED亮起。
修改完成后编译生成BOOT.BIN文件,流程可参考hello world例程,将BOOT.BIN文件放在SD卡中,启动模式设置为SD卡启动,插上电源。按压与释放摁键观察LED的变化。按压任意摁键LED亮起,释放摁键熄灭测试成功。BOOT.BIN路径如下所示,有需要可以直接使用。
LedKeyTest\vitis\LedKeyTest_system\_ide\bootimage
通过网盘分享的文件:TQRFSOC开发板47DR,GPIO摁键小灯测试
链接: https://pan.baidu.com/s/1WVnszYdJaRa-kc1CftbSgw 提取码: xgqp