t_v

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

  原文地址: https://blog.csdn.net/mayaohui1994/article/details/79371567?utm_source=blogxgwz8

xilinx SDK开发 GPIO使用API总结的更多相关文章

  1. Xilinx Zynq ZC-702 开发(02)—— 通过 Xilinx SDK 调试 Linux 应用

    远程调试环境由 PC 上运行的 System Debugger(集成在 Xilinx SDK 中) 和 Zynq 板上运行的 Linux TCF Agent 共同构成, 两者通过 TCP 连接,架构图 ...

  2. Kinect for Windows SDK开发入门(15):进阶指引 下

    Kinect for Windows SDK开发入门(十五):进阶指引 下 上一篇文章介绍了Kinect for Windows SDK进阶开发需要了解的一些内容,包括影像处理Coding4Fun K ...

  3. 插件化技术在安卓sdk开发中实际应用

    笔者从 2016 年初就因为公司业务需求转战 android sdk 开发, 应用插件化技术将公司 android sdk 重新翻版.先来说说需求. 由于笔者所在一家创业公司, android sdk ...

  4. iOS开发之多媒体API(1)

    iOS开发之多媒体API(1)       播放视频 视频文件介绍 视频格式可以分为适合本地播放的本地影像视频和适合在网络中播放的网络流媒体影像视频两大类.尽管后者在播放的稳定性和播放画面质量上可能没 ...

  5. 使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例)

    作者:陈希章 发表于 2017年12月19日 引子 这一篇文章将用一个完整的实例,给大家介绍如何基于dotnet core(微软.NET的最新版本,支持跨平台,跨设备的应用开发,详情请参考 https ...

  6. Android SDK 开发——发布使用踩坑之路

    前言 在 Android 开发过程中,有些功能是通用的,或者是多个业务方都需要使用的. 为了统一功能逻辑及避免重复开发,因此将该功能开发成一个 SDK 是相当有必要的. 背景 刚好最近自己遇到了类似需 ...

  7. ESP8266开发综合篇(SDK开发-视频教程总揽)

    为了解决基础教程简单入门但不实用,项目方案非常实用但比较难的问题,开始推出8266开发综合篇 综合篇涉及到AT,LUA,SDK,LUA(sdk)开发,LUA和SDK开发会同步进行,后期再整理AT指令的 ...

  8. Xilinx SDK使用教程

    本文参考 Xilinx SDK软件内置的教程,打开方法:打开SDK->Help->Cheet Sheets...->Xilinx SDK Tutorials,这里有6篇文档.本文详细 ...

  9. devOps开发(Web API 实例)dotnet core 和 Azure PaaS服务

    使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例) 作者:陈希章 发表于 2017年12月19日 引子 这一篇文章将用一个完整的实例,给大家介绍如何 ...

随机推荐

  1. Python: 把txt文件转换成csv

    最近在项目上需要批量把txt文件转成成csv文件格式,以前是手动打开excel文件,然后导入txt来生产csv文件,由于这已经变成每周需要做的事情,决定用python自动化脚本来实现,思路: 读取文件 ...

  2. Scanner 中next()和nexline()方法的区别

      在java实现字符窗口的输入时,很多人更喜欢选择使用扫描器scanner,它操作起来比较简单.在编程的过程中,我发现用scanner实现字符串的输入有两种方法,一种是next(),另一种是next ...

  3. Redis缓存数据库基础

    思维导图xmind文件:https://files-cdn.cnblogs.com/files/benjieming/Redis.zip

  4. [转]Java游戏引擎

    JME(jMonkey Engine): JME是一个高性能的3D图形API,采用LWJGL作为底层支持.它的后续版本将支持JOGL.JME和Java 3D具有类似的场景结构,开发者必须以树状方式组织 ...

  5. 一般处理程序ashx输出XML

    首先构建自己的xmldocument,方式很多例如: XmlDocument xmldoc = new XmlDocument(); XmlDeclaration xmldecl = xmldoc.C ...

  6. JSON.stringify & JSON.parse 简析

    以前用到JSON的场景也不少,但是没有仔细的研究过,这几天趁着一个需求用到了,就整理了一下相关用法. 一. JSON.stringify() 1. 语法  JSON.stringify(value[, ...

  7. Zifencei扩展

    fence 指令对外部可见的访存请求,如设备 I / O 访问,内存访问等进行串行化.外部可见是指对处理器的其他核心.线程,外部设备或协处理器可见. fence.i 指令同步指令和数据流.在执行 fe ...

  8. mysql 带外注入

    带外通道 有时候注入发现并没有回显,也不能利用时间盲注,那么就可以利用带外通道,也就是利用其他协议或者渠道,如http请求.DNS解析.SMB服务等将数据带出. payload SELECT LOAD ...

  9. 定时调度之Quartz

    工作中我们经常碰到定时或者固定时间点去做一些事情,然后每天到时间点就会去做这样的事情,如果理解这样的场景,我们就要引入今天我们的主角Quartz,其实这个跟数据库的作业类似,但是不仅仅局限于数据库. ...

  10. 设置 Jupyter notebook 工作空间 / 默认路径

    常用的启动 Jupyter notebook 的两种方式是:命令行窗口启动和开始菜单启动.设置 Jupyter notebook 的默认路径也有两种常用方式: 修改配置文件 设置快捷方式. 1 通过修 ...