1. 程式人生 > >Xilinx SDK 初學之–API函式筆記(GPIO函式)

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