PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp USB, CAN, I2C, SPI, USART... (http://www.picvietnam.com/forum/forumdisplay.php?f=45)
-   -   Help! Giúp mình phân biệt Mass storage và HID (http://www.picvietnam.com/forum/showthread.php?t=2950)

violent 16-10-2008 06:13 PM

Help! Giúp mình phân biệt Mass storage và HID
 
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

Trích:

Nguyên văn bởi violent (Post 19647)
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

Trích:

Nguyên văn bởi violent (Post 19647)
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.

Trích:

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

Trích:

Nguyên văn bởi trandaihai2003 (Post 19696)
=> 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

Trích:

Nguyên văn bởi violent (Post 19647)
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


Múi giờ GMT. Hiện tại là 02:17 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam