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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章