xilinx SDK开发 GPIO使用API总结

转:https://blog.csdn.net/mayaohui1994/article/details/79371567

 

GPIO常用函数

1、XGpio_Config *XGpio_LookupConfig(u16 DeviceId)

功能:根据输入设备ID查找该设备。

输入:设备ID。

输出:若找到该设备ID则返回一个指向设备配置的XGpio_Config型指针。若没有找到则返回NULL。

2、int XGpio_Initialize(XGpio * InstancePtr, u16 DeviceId)

功能:初始化XGpio实例。

参数1:指向设备实例的指针。

参数2:设备ID。

返回:成功返回XST_SUCCESS,失败返回XST_DEVICE_NOT_FOUND。

    上面两个函数不能单独的完成初始化,实际上XGpio_CfgInitialize函数里调用了这两个函数,一起完成设备初始化。

3、int XGpio_CfgInitialize(XGpio * InstancePtr, XGpio_Config * Config,u32 EffectiveAddr)

功能:根据输入的配置信息初始化XGpio实例。

参数1:XGpio实例指针。

参数2:详细的配置信息。

参数3:虚拟地址空间中的设备基地址。

返回:成功返回XST_SUCCESS。

4、void XGpio_SetDataDirection(XGpio * InstancePtr, unsigned Channel,u32 DirectionMask)

功能:设置各个通道的输入输出方向。

参数1:指向设备实例的指针。

参数2:准备操作的GPIO的通道(Vivado中设置gpio IP时的设置通道,为1或2)。如下图中的通道1,2。

参数3:决定输入输出方向的掩码,1位输入0为输出。

5、u32 XGpio_GetDataDirection(XGpio *InstancePtr, unsigned Channel)

功能:得到各个IO的输入输出配置情况。

参数1:设备实例指针。

参数2:通道。

返回:IO方向配置情况,0输出,1输入。

6、u32 XGpio_DiscreteRead(XGpio * InstancePtr, unsigned Channel)

功能:读当前IO状态。

参数1:设备实例指针。

参数2:通道。

返回:IO当前值。

7、void XGpio_DiscreteWrite(XGpio * InstancePtr, unsigned Channel, u32 Data)

功能:向输入设备实例写入输入数据。

参数1:设备实例。

参数2:通道。

参数3:要写入的数据。

返回: void。

---------------------------------------------------使用实例---------------------------------------------------------------------------------------

//1、定义设备。

XGpio BTNInst;

//2、初始化按键

status = XGpio_Initialize(&BTNInst, BTNS_DEVICE_ID);

//3、 设置按键IO的方向为输入

XGpio_SetDataDirection(&BTNInst, 1, 0xF);

猜你喜欢

转载自blog.csdn.net/timeless_2014/article/details/82705065