Tôi đang cố gắng tự học một chút về việc tạo một bộ mô tả USB HID trong C cho dự án USB PIC32 mà tôi muốn thử.
Tôi đã tải xuống tài liệu Bảng sử dụng HID từ http://www.usb.org/developers/hidpage/ và cố gắng tìm ra nơi các giá trị thực tế được chỉ định cho các yếu tố khác nhau trong mô tả HID.
Hãy để tôi giải thích với một đoạn trích từ mẫu tôi đang xem:
ROM struct{BYTE report[HID_RPT01_SIZE];}hid_rpt01={{
0x05,0x01, // USAGE_PAGE (Generic Desktop)
0x09,0x05, // USAGE (Game Pad)
0xA1,0x01, // COLLECTION (Application)
0x15,0x00, // LOGICAL_MINIMUM(0)
0x25,0x01, // LOGICAL_MAXIMUM(1)
0x35,0x00, // PHYSICAL_MINIMUM(0)
0x45,0x01, // PHYSICAL_MAXIMUM(1)
// ...
Từ ví dụ trên, rõ ràng mảng BYTE được cấu thành từ các cặp khóa / giá trị, nếu tôi có thể gọi nó là như vậy. Ví dụ: dòng thứ 2: 0x05,0x01 chỉ ra khóa 0x05, là Trang sử dụng và 0x01 là giá trị biểu thị Bàn làm việc chung
Tôi đang cố gắng tìm ra nơi các giá trị này được chỉ định trong tài liệu PDF Bảng sử dụng HID. Ví dụ, tôi không thể tìm thấy tài liệu tham khảo nào
USAGE_PAGE == 0x05
và ví dụ
COLLECTION == 0xA1
Tôi đã thử tìm kiếm PDF cho 0xA1, không có kết quả. Cách duy nhất tôi có thể tìm ra các giá trị là gì, bằng cách xem các nhận xét của ví dụ hoặc bằng cách sử dụng Công cụ mô tả USB từ liên kết ở trên.
Tôi chỉ tự hỏi, tôi hoàn toàn không biết tài liệu tham khảo khóa / giá trị này?
Có rất nhiều ví dụ trực tuyến, ví dụ như liên kết sau: http://www.frank-zhao.com/cache/hid_tutorial_1.php
Nhưng ngay cả tài liệu tham khảo này cũng tải các giá trị chuỗi như END_COLLMENT == 0xc0
Tôi tìm tài liệu tham khảo cho các giá trị này ở đâu? Tôi đang thiếu gì?