PDA

View Full Version : Help! Giúp mình phân biệt Mass storage và HID


violent
16-10-2008, 06:13 PM
Mình đã viết driver nhận Mass storage thành công thông qua cổng USB: device descriptor, configuration, interface, endpoint.
Thế mà sao khi ứng dụng cho HID, vừa mới get device descriptor thì gặp ngay lỗi. Có bạn nào giải nguy cho mình được ko? Cảm ơn nhiều.

violent
17-10-2008, 05:16 PM
Mình đã viết driver nhận Mass storage thành công thông qua cổng USB: device descriptor, configuration, interface, endpoint.
Thế mà sao khi ứng dụng cho HID, vừa mới get device descriptor thì gặp ngay lỗi. Có bạn nào giải nguy cho mình được ko? Cảm ơn nhiều.

Ko có bạn nào giúp mình hết.

Heo mọi
18-10-2008, 08:42 PM
Lập trình trên Windows hay Linux? Ngôn ngữ gì?

trandaihai2003
19-10-2008, 11:00 AM
Mình đã viết driver nhận Mass storage thành công thông qua cổng USB: device descriptor, configuration, interface, endpoint.

=> bạn đã viết được "driver" nhận all descriptor cho Mass storage. Vậy là vấn đề lập trình tiếp theo của sẽ dễ dàng thôi ! hihi. Bạn có thể share code của bạn không ? ah bạn sử dụng từ "driver" hoành tráng quá !!! thay bằng từ chương trình thì vừa hơn.


Thế mà sao khi ứng dụng cho HID, vừa mới get device descriptor thì gặp ngay lỗi. Có bạn nào giải nguy cho mình được ko? Cảm ơn nhiều.
=> Do bạn hông có nói rõ ràng, nói chung chung là gặp lỗi get descriptor nên cũng khó giúp bạn được.
Tôi đoán thế này:
1. Low speed or full speed ? bạn chắc chắn device HID usb và Host controller usb là phù hợp chứ ?
2. Max packet size mà bạn sử dụng trong chương trình nhỏ hơn hoặc bằng Max packet size của HID device hỗ trợ chưa?
3. Bạn hiểu cấu trúc descriptor của Mass Storage và HID khách nhau thế nào chưa ?
....
Tôi không tiện liệt kê tiếp.

Good luck

violent
27-10-2008, 06:11 PM
=> bạn đã viết được "driver" nhận all descriptor cho Mass storage. Vậy là vấn đề lập trình tiếp theo của sẽ dễ dàng thôi ! hihi. Bạn có thể share code của bạn không ? ah bạn sử dụng từ "driver" hoành tráng quá !!! thay bằng từ chương trình thì vừa hơn.


=> Do bạn hông có nói rõ ràng, nói chung chung là gặp lỗi get descriptor nên cũng khó giúp bạn được.
Tôi đoán thế này:
1. Low speed or full speed ? bạn chắc chắn device HID usb và Host controller usb là phù hợp chứ ?
2. Max packet size mà bạn sử dụng trong chương trình nhỏ hơn hoặc bằng Max packet size của HID device hỗ trợ chưa?
3. Bạn hiểu cấu trúc descriptor của Mass Storage và HID khách nhau thế nào chưa ?
....
Tôi không tiện liệt kê tiếp.

Good luck


Thanks bạn nhiều nha. Mình đã fix được vấn đề này rùi. Chỉ cần set bít để Host có thể support low speed thui mà (mặc định là full).

txnghia
28-10-2008, 10:36 AM
Mình đã viết driver nhận Mass storage thành công thông qua cổng USB: device descriptor, configuration, interface, endpoint.
Thế mà sao khi ứng dụng cho HID, vừa mới get device descriptor thì gặp ngay lỗi. Có bạn nào giải nguy cho mình được ko? Cảm ơn nhiều.

Thế thì hay lắm, vậy tôi với bạn có thể chia sẻ và cho mọi người cùng biết. Tôi cũng vừa thành công và hiểu tương đối về HID (Human Interface Device) của PIC nhưng chưa có đụng đến mass storage device. Tôi đã tạo USB mouse và USB gamepad với các số trục khiển (axis) và nút bấm (button) tùy chọn. Và có thể tạo USB keyboard hay một số ứng dụng giao diện vối các thiết bị ngoại vi bằng USB. Thật ra chương trình đã có sẵn của Microchip, tôi chỉ đổi và thêm vào các số. Tuy nhiên mình cần phải hiểu các con số khá kỹ, đặc biệt là phần report descriptor.

txnghia
27/10/2008