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);

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值