Xilinx SDK 初学之–API函数笔记(GPIO函数)

Xilinx SDK 初学之–API函数笔记(GPIO函数)

xgpio函数

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

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

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

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

名称 代码 解释
函数名 XGpio_SetDataDirection 设置GPIO为输入/输出
参数1 XGpio * InstancePtr 指向GPIO实例的指针
参数2 unsigned Channel 待设置GPIO的通道(Vivado中设置gpio IP时的设置通道,为1或2)
参数3 u32 DirectionMask 方向设置。0:output;1:input
返回值 void  

应用举例: 
/////////////////////////////////////////////////////// 
XGpio LedGpio; 
XGpio_SetDataDirection(&LedGpio,1,0x00000000) ; 
/////////////////////////////////////////////////////// 
说明:关于参数Channel,在gpio的IP设置时有如下配置: 
gpio IP配置界面 
配置为上半部分的GPIO,则Channel为1;若设置下半部分配置的GPIO 2,则Channel为2;

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

名称 代码 解释
函数名 XGpio_DiscreteRead 读取GPIO的值
参数1 XGpio * InstancePtr 指向GPIO实例的指针
参数2 unsigned Channel 通道号,同上一函数
返回值 u32 最多32位的实际值

应用举例: 
/////////////////////////////////////////////////////// 
XGpio BtnGpio; 
int btn_val ; 
btn_val =XGpio_DiscreteRead(&BtnGpio,1) ; 
///////////////////////////////////////////////////////

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

名称 代码 解释
函数名 XGpio_DiscreteWrite 写GPIO
参数1 XGpio * InstancePtr 指向GPIO实例的指针
参数2 unsigned Channel 通道号,同上一函数
参数3 u32 Data 需要写的值
返回值 void  

应用举例: 
/////////////////////////////////////////////////////// 
XGpio LedGpio; 
int led_val = 0xfffffff2; 
XGpio_DiscreteWrite(&LedGpio,1,led_val) ; 
///////////////////////////////////////////////////////

其他与GPIO相关的函数使用与以上函数大同小异,参考参数含义即可理解

转自:https://blog.csdn.net/Autumn_He/article/details/77853891

猜你喜欢

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