6. Vaja: Tipke in aplikacija

V sistem iz prejšnje vaje bomo dodali povezavo na tipke na razvojni plošči in napisali bomo kodo v jeziku C za branje tipk in risanje črt.

Naloga

set_property PACKAGE_PIN R18 [get_ports tipke_tri_io[0]]; # BTNR
set_property IOSTANDARD LVCMOS25 [get_ports tipke_tri_io[0]]

set_property PACKAGE_PIN T18 [get_ports tipke_tri_io[1]]; # BTNU
set_property IOSTANDARD LVCMOS25 [get_ports tipke_tri_io[1]]

set_property PACKAGE_PIN N15 [get_ports tipke_tri_io[2]]; # BTNL
set_property IOSTANDARD LVCMOS25 [get_ports tipke_tri_io[2]]

set_property PACKAGE_PIN R16 [get_ports tipke_tri_io[3]]; # BTND
set_property IOSTANDARD LVCMOS25 [get_ports tipke_tri_io[3]]

Aplikacija

#include "xgpiops.h"// gonilnik za PS GPIO (tipke)

int main()
{
 int t;
 XGpioPs gp;
 XGpioPs_Config *gpCfg;

 // inicializacija PS GPIO
 gpCfg = XGpioPs_LookupConfig(XPAR_PS7_GPIO_0_DEVICE_ID);
 XGpioPs_CfgInitialize(&gp, gpCfg, gpCfg->BaseAddr);

 t = XGpioPs_Read(&gp, 2); // branje stanja tipk, ki so na banki 2
 ...
}