Re: 18F4550 USB HID 傳輸量問題...
|
||||
---|---|---|---|---|
初級會員
|
感謝 calvinho 版大的熱心支援,還有您認真上課的態度令人印度深刻,惠我良多,另外我會將 bcb code 再作修改,以符合 HID host/device 兩端的溝通(16 bytes),在此小弟致以萬分的謝意, Thanks a lot.
發表於: 2007/5/4 0:03
|
|||
|
Re: 18F4550 USB HID 傳輸量問題...
|
||||
---|---|---|---|---|
初級會員
|
版主大大您好:
我試過您所說的方法將指定的檔案中的結構變數更改,但是還是無法順利將寫入(WriteReport) buffer 中的資料 (16 bytes) 讀出(ReadReport),相信您所提及的方式應該是有發生效用,而問題是否有可能是發生在 USBHIDIOC.CPP 中的定義呢,亦或是還有地方未改到,以致於 HID USB DEVICE(18F4550)回傳的資料(Report)不正確,我有大概參考了PICkit 2 V120 Source 的 code, 發現其原始碼竟然可以隨心所欲的更改寫入 buffer 的大小並讀回 data,但是小弟目前是以 ICD2 除錯,而沒有 PICkit 的設備,不知版大可否再給予小弟一些指教與建議,謝謝!! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PS: (對應修正程序,但仍無法正確動作.....殘念) 1.usbcfg.h -> HID_INT_IN_EP_SIZE & HID_INT_OUT_EP_SIZE 皆改為 64 2.usbdsc.c -> report count = 8 改為 64 3.USBHIDIOC.CPP -> WriteReport(WriteFile) & ReadReport(ReadFile) 的 第三個參數皆改為 65 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
發表於: 2007/4/24 10:37
|
|||
|
Re: 18F4550 USB HID 傳輸量問題...
|
||||
---|---|---|---|---|
初級會員
|
感謝版主及寫上癮了大大的熱情指教,我會趕快去試試,如果試出來亦會 share 我的方法,以不負各位先進的奧援, Thanks a lot..
發表於: 2007/4/23 17:12
|
|||
|
Re: 18F4550 USB HID 傳輸量問題...
|
||||
---|---|---|---|---|
管理員
|
你好,
以下的部份是須要修改的 , 試試看啦 : 1. usbcfg.h 裡的 HID_INT_IN_EP_SIZE , 由 8 改為 64 . 當然也可以重設 HID_INT_OUT_EP_SIZE 2. usbdsc.c 裡的結構 hid_rpt01 裡面有欄位為 report count = 8 , 此有關 report count 的數值也要由 8 改成 64. 祝好運啦 :)
發表於: 2007/4/23 15:15
|
|||
|
Re: 18F4550 USB HID 傳輸量問題...
|
||||
---|---|---|---|---|
資深會員
|
參考 pickit2 的source code 吧
裏頭的 hid 一次是傳 64byte 我的問題剛好和你相反,我要改小,不過就是改不下來。 你看看吧,如果知道該怎麼正確修改,要分享呦~~
發表於: 2007/4/23 11:06
|
|||
|
18F4550 USB HID 傳輸量問題...
|
||||
---|---|---|---|---|
初級會員
|
Dear All,
我使用 18F4550 USB 的 HID 示範程式,發現如果用內定的 buffer(8 bytes) 大小來作資料的傳輸是正常,但如果我修改成 buffer 傳送 16 bytes 的資料時,卻發現程式傳回 fail的狀態(只有前 8 個 bytes 有資料傳輸動作,而後 8 個 bytes 無任何反應),我嘗試將 USBHIDIOC.C 內的副程式 ReadReport 及 WriteReport 中的 WriteFile 的第三個參數由 9 改為 65 ,但是仍然無法正確寫入或傳回 16 bytes 完整的資料,不知需要修改那裏才能傳輸16 bytes OR 更多的資料量,煩請各位先進不吝給小弟指正, 謝謝!!
發表於: 2007/4/23 10:00
|
|||
|