江山易改本性难移之ZYNQ SDK API函数笔记(GPIO函数)

初学Xilinx ZYNQ SDK的开发,下面记录使用到的API函数及自己的理解。若有误,还请指教。

xgpiops函数

常用编程步骤:

1.查找输入设备的ID查找设备;

2.初始化GPIO(最新版本暂不需要)

3.输入的配置信息初始化GPIO;

4.设置指定引脚的方向: 0 输入, 1 输出;

5.使能指定引脚输出: 0 禁止输出使能, 1 使能输出

配置GPIO只需要以上5个步骤。(其中2步骤在最新版本中不需要配置)

参考#include "xgpiops.h"文件夹

1、XGpioPs_Config *XGpioPs_LookupConfig(u16 DeviceId)

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

名称代码解释
函数名XGpio_Initialize初始化GPIO
参数1XGpio * InstancePtr指向设备实例的指针
参数2u16 DeviceIdID号,自动生成,在xparameters.h文件中定义
返回值int成功返回XST_SUCCESS,失败返回XST_DEVICE_NOT_FOUND

应用举例:
///
XGpio GPIO;
XGpio_Initialize(&GPIO,XPAR_LED_DEVICE_ID) ;
///

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

名称代码解释
函数名XGpio_Initialize根据输入的配置信息初始化XGpio实例
参数1XGpio * InstancePtr指向设备实例的指针
参数2XGpio_Config * Config详细的配置信息
参数3u32 EffectiveAddr虚拟地址空间中的设备基地址
返回值int成功返回XST_SUCCESS

4、void XGpioPs_SetDirectionPin(XGpioPs *InstancePtr, u32 Pin, u32 Direction);

      void XGpio_SetDataDirection(XGpio * InstancePtr, unsigned Channel,u32 DirectionMask)         (旧版本)

名称代码解释
函数名XGpioPs_SetDirectionPin设置GPIO为输入/输出
参数1XGpio * InstancePtr指向GPIO实例的指针
参数2

u32 Pin

unsigned Channel

GPIO PIN引脚

待设置GPIO的通道(Vivado中设置gpio IP时的设置通道,为1或2)

参数3

u32 Direction

u32 DirectionMask

方向设置。0:output;1:input

返回值void

应用举例:
///
XGpio LedGpio;
XGpio_SetDataDirection(&LedGpio,1,0x00000000) ;
///
说明:关于参数Channel,在gpio的IP设置时有如下配置:
Xilinx SDK 初学之--API函数笔记(GPIO函数)_第1张图片
配置为上半部分的GPIO,则Channel为1;若设置下半部分配置的GPIO 2,则Channel为2;

5、void XGpioPs_SetOutputEnablePin(XGpioPs *InstancePtr, u32 Pin, u32 OpEnable);

6、u32 XGpioPs_ReadPin(XGpioPs *InstancePtr, u32 Pin);

名称代码解释
函数名XGpioPs_ReadPin读取GPIO的值
参数1XGpioPs *InstancePtr指向GPIO实例的指针
参数2u32 PinGPIO PIN引脚
返回值u320:低电平;1:高电平

7、void XGpioPs_WritePin(XGpioPs *InstancePtr, u32 Pin, u32 Data);

名称代码解释
函数名XGpioPs_WritePin写GPIO的数值
参数2XGpioPs *InstancePtr指向GPIO实例的指针
参数3u32 Data0:低电平;1:高电平
返回值void

以上是操作PIN API函数与其他GPIO相关的函数(BANK API)使用xgpiops函数大同小异,参考参数含义即可理解。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SDK中的GPIO函数是用于对GPIO(通用输入/输出)引脚进行操作的API函数。根据引用和引用的描述,Xilinx SDK中提供了两种不同的GPIO函数,分别是xgpio函数和xgpiops函数。 xgpio函数是用于操作通用输入/输出的函数,可以对指定的GPIO引脚进行读取或写入操作。这些函数可以帮助开发人员在Xilinx ZYNQ平台上控制硬件外设的输入和输出。 xgpiops函数在Xilinx ZYNQ SDK中也是用于操作GPIO引脚的函数,但它提供了更多的功能和灵活性。根据引用的描述,xgpiops函数与xgpio函数类似,但具有更多的功能和选项。它可以用于读取或写入GPIO引脚的状态,以及执行其他与GPIO相关的操作。 总的来说,SDK中的GPIO函数提供了一种方便的方式来与硬件外设进行通信,并控制输入和输出操作。这些函数可以根据开发人员的需求进行使用,以实现特定的功能和操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Xilinx SDK 初学之--API函数笔记(GPIO函数)](https://blog.csdn.net/tangkunjyy/article/details/62038253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [江山易改本性难移ZYNQ SDK API函数笔记(GPIO函数)](https://blog.csdn.net/u013184273/article/details/118706711)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值