![]() |
|
Tài trợ cho PIC Vietnam |
Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Đệ tử 2 túi
Tham gia ngày: Oct 2009
Bài gửi: 31
: |
Usb hid control volume
Chào mọi người!
Hiện tại mình đang tìm hiếu về ubs dùng hid ,mình định dùng hid dể diều khiển windows media player nhưng vẫn chưa chạy được . Trong phần report HID descriptor khai báo như thế nay: ROM struct{BYTE report[HID_RPT01_SIZE];}hid_rpt01={ // // Report descriptor for media remote controller // // This descriptor defines ONE byte report, of this bitmap // bit // 0 : Next // 1 : Previous // 2 : Stop // 3 : Play/Pause // 4 : Mute // 5 : Volume Up // 6 : Volume Down // 7 : --- (padding) // 0x05, 0x0c, // USAGE_PAGE (Consumer Devices) 0x09, 0x01, // USAGE (Consumer Control) 0xa1, 0x01, // COLLECTION (Application) // -------------------- common global items 0x15, 0x00, // LOGICAL_MINIMUM (0) 0x25, 0x01, // LOGICAL_MAXIMUM (1) 0x75, 0x01, // REPORT_SIZE (1) - each field occupies 1 bit // -------------------- misc bits 0x95, 0x05, // REPORT_COUNT (5) 0x09, 0xb5, // USAGE (Scan Next Track) 0x09, 0xb6, // USAGE (Scan Previous Track) 0x09, 0xb7, // USAGE (Stop) 0x09, 0xcd, // USAGE (Play/Pause) 0x09, 0xe2, // USAGE (Mute) 0x81, 0x06, // INPUT (Data,Var,Rel) - relative inputs // -------------------- volume up/down bits 0x95, 0x02, // REPORT_COUNT (2) 0x09, 0xe9, // USAGE (Volume Up) 0x09, 0xea, // USAGE (Volume Down) 0x81, 0x02, // INPUT (Data,Var,Abs) - absolute inputs // -------------------- padding bit 0x95, 0x01, // REPORT_COUNT (1) 0x81, 0x01, // INPUT (Cnst,Ary,Abs) 0xc0 // END_COLLECTION } } sau đó mình gởi 1 byte lên máy tính : hid_report_in[0] = 0xea; -->volume donw nhưng không có kết quả hoặc hid_report_in[0] = 0xc0;--> volume dơn nhung không có kết quả Mọi người giúp mình giải quyết vấn đề này với ,dịch không có lỗi nhưng chạy không có kết quả. |
![]() |
![]() |
|
|