Lưu ý
Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.
- Bản gốc:
- Người dịch:
Google Translate (machine translation)
- Phiên bản gốc:
8541d8f725c6
Cảnh báo
Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.
GPIO Không gian người dùng thiết bị ký tự API¶
Đây là phiên bản mới nhất (v2) của thiết bị ký tự API, như được định nghĩa trong ZZ0000ZZ
Lần đầu tiên được thêm vào trong 5.10.
Lưu ý
Do NOT abuse userspace APIs to control hardware that has proper kernel drivers. There may already be a driver for your use case, and an existing kernel driver is sure to provide a superior solution to bitbashing from userspace.
Read Subsystem drivers using GPIO to avoid reinventing kernel wheels in userspace.
Similarly, for multi-function lines there may be other subsystems, such as Serial Peripheral Interface (SPI), I2C/SMBus Subsystem, Pulse Width Modulation (PWM) interface, 1-Wire Subsystem etc, that provide suitable drivers and APIs for your hardware.
Bạn có thể tìm thấy các ví dụ cơ bản sử dụng thiết bị ký tự API trong ZZ0000ZZ.
API dựa trên hai đối tượng chính là ZZ0000ZZ và ZZ0001ZZ.
chip¶
Chip đại diện cho một chip GPIO duy nhất và được hiển thị trong không gian người dùng bằng thiết bị các tệp có dạng ZZ0000ZZ.
Mỗi chip hỗ trợ một số dòng GPIO, ZZ0000ZZ. Các dòng trên chip được xác định bởi một ZZ0001ZZ trong phạm vi từ 0 đến ZZ0002ZZ, tức là ZZ0003ZZ.
Các dòng được yêu cầu từ chip bằng GPIO_V2_GET_LINE_IOCTL và yêu cầu dòng kết quả được sử dụng để truy cập vào các dòng của chip GPIO hoặc theo dõi các dòng cho các sự kiện cạnh.
Trong tài liệu này, bộ mô tả tệp được trả về bằng cách gọi ZZ0001ZZ trên tệp thiết bị GPIO được gọi là ZZ0000ZZ.
Hoạt động¶
Các hoạt động sau đây có thể được thực hiện trên chip:
Yêu cầu dòng¶
Yêu cầu dòng được tạo bởi GPIO_V2_GET_LINE_IOCTL và cung cấp truy cập vào một tập hợp các dòng được yêu cầu. Yêu cầu dòng được hiển thị với không gian người dùng thông qua bộ mô tả tệp ẩn danh được trả về trong ZZ0000ZZ của GPIO_V2_GET_LINE_IOCTL.
Trong tài liệu này, bộ mô tả tệp yêu cầu dòng được đề cập đến như ZZ0000ZZ.
Hoạt động¶
Các hoạt động sau đây có thể được thực hiện trên yêu cầu dòng:
Các loại¶
Phần này chứa các cấu trúc và enum được tham chiếu bởi API v2, như được định nghĩa trong ZZ0000ZZ.