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