GPIO_GET_LINEEVENT_IOCTL¶
警告
此 ioctl 是 GPIO 字元裝置使用者空間 API (v1) 的一部分,已被 GPIO_V2_GET_LINE_IOCTL 棄用。
名稱¶
GPIO_GET_LINEEVENT_IOCTL - 請求核心提供具有邊沿檢測的線路。
概要¶
-
GPIO_GET_LINEEVENT_IOCTL¶
int ioctl(int chip_fd, GPIO_GET_LINEEVENT_IOCTL, struct gpioevent_request *request)
引數¶
chip_fd由 open() 返回的 GPIO 字元裝置的檔案描述符。
request指定要請求的線路及其配置的
event_request。
描述¶
請求核心提供具有邊沿檢測的線路。
成功後,請求程序將被授予對線路值的獨佔訪問許可權,並且當線上路上檢測到邊沿時,可以接收事件,如 GPIO_LINEEVENT_DATA_READ 中所述。
保證線路的狀態保持在請求狀態,直到返回的檔案描述符被關閉。一旦檔案描述符被關閉,從使用者空間的角度來看,線路的狀態將變得不受控制,並且可能會恢復到其預設狀態。
請求已在使用中的線路是一個錯誤 (EBUSY)。
請求不支援中斷的線路上的邊沿檢測是一個錯誤 (ENXIO)。
與 線路控制代碼 一樣,偏置配置是盡力而為。
關閉 chip_fd 對現有的線路事件沒有影響。
配置規則¶
以下配置規則適用
線路事件被請求作為輸入,因此不能設定特定於輸出線路的標誌,GPIOHANDLE_REQUEST_OUTPUT、GPIOHANDLE_REQUEST_OPEN_DRAIN 或 GPIOHANDLE_REQUEST_OPEN_SOURCE。
只能設定一個偏置標誌,GPIOHANDLE_REQUEST_BIAS_xxx。如果沒有設定偏置標誌,則偏置配置不會更改。
邊沿標誌,GPIOEVENT_REQUEST_RISING_EDGE 和 GPIOEVENT_REQUEST_FALLING_EDGE,可以組合起來檢測上升沿和下降沿。
請求無效配置是一個錯誤 (EINVAL)。
返回值¶
成功時返回 0,並且 request.fd 包含請求的檔案描述符。
發生錯誤時返回 -1,並且會適當地設定 errno 變數。常見錯誤程式碼在 GPIO 錯誤程式碼 中描述。