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,則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相關的函數使用與以上函數大同小異,參考參數含義即可理解