• slider image 319
  • slider image 320
  • slider image 321
  • slider image 322
  • slider image 323
  • slider image 324
:::


Browsing this Thread:   1 Anonymous Users






Re: PIC18F67J50 USB 裝置無法辨識
#6
新會員
新會員


查看用戶資訊
感謝管理員大大提醒

問題解決了
在sample code裡有定義這個
#define mHIDTxIsBusy() HID_BD_IN.Stat.UOWN
可以用來確認Buffer使否Busy

另外掉資料問題雖還是會出現
但只要每次call HIDTxReport送資料完後
補個USBTasks();就可以解決


參照:

AdamSyu wrote:
USB, 是Host Pol的架構, 在Host把資料拿走之前, 是不能一直往Buffer塞資料的.
沒記錯的話, 應該有個類似USBTxBufferIsReady之類的旗標,
送資料前, 要先確認, 才能塞資料給Buffer.

發表於: 8/20 11:17
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F67J50 USB 裝置無法辨識
#5
管理員
管理員


查看用戶資訊
USB, 是Host Pol的架構, 在Host把資料拿走之前, 是不能一直往Buffer塞資料的.
沒記錯的話, 應該有個類似USBTxBufferIsReady之類的旗標,
送資料前, 要先確認, 才能塞資料給Buffer.

發表於: 8/17 14:54
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F67J50 USB 裝置無法辨識
#4
新會員
新會員


查看用戶資訊
各位好,感謝大大的回答

問題解決了
主要問題是USB變數記憶體位置沒有設定好
原本程式裡有把變數記憶體位置配置在固定位址
不小心被我註解掉了
設定完成後就可以在讀到USB裝置了

但目前又遇到另一個問題
透過使用HIDTxReport這個SUB來送資料時
不知道是因為時間差還是甚麼原因
用for連續call HIDTxReport送資料時
需要間隔delay 8~10ms
才能完整連續送出五條資料
但用這方法也有可能在送出三條資料後就斷掉沒送完
請問我能往哪個方向去修正這個問題呢?

*開發環境MPLAB IDE v8.92 / C18
*使用Wireshark來監看USB收送資料狀態

Attach file:



jpg  R.jpg (323.64 KB)
112045_611b1d8c190da.jpg 1376X881 px

發表於: 8/17 10:24
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F67J50 USB 裝置無法辨識
#3
資深會員
資深會員


查看用戶資訊
建議將Configuration Word中的WDT關閉, 再測試一下

#pragma config WDTEN = OFF

發表於: 8/5 11:44
不要盲目地從一堆“嘗試”中去找答案;將時間用來找尋“最正確”的方法。
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F67J50 USB 裝置無法辨識
#2
管理員
管理員


查看用戶資訊
請教妳的開發環境, 用的USB Stack是那一個版本?
如果是使用MLA的架構, 一般來說, 會出現"無法辨識的裝置", 大部分情形都是系統時脈沒正確設定成48MHz.

發表於: 8/5 11:33
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


PIC18F67J50 USB 裝置無法辨識
#1
新會員
新會員


查看用戶資訊
各位好
小弟借用前輩以PIC18F67J50開發的軟硬體為基礎
要再加上USB HID功能
USB的部分是參考PIC18F4550的程式加入修改
但接上電腦後跳出裝置無法辨識
從裝置管理員上也看不到這個裝置的VID/PID

外部振盪器使用20MHz

#pragma config WDTEN = ON,PLLDIV = 5,STVREN = OFF,XINST = OFF
#pragma config CPUDIV = OSC1,CP0 = OFF
#pragma config FOSC = HSPLL,FCMEN = OFF,IESO = ON
#pragma config WDTPS = 512
#pragma config CCP2MX = DEFAULT,MSSPMSK = MSK7

D+/D-直接接在IC腳位上
VUSB接3.3V

從程式上來看
在USBTask裡的USBDriverService()
無法從UIRbits.TRNIF跳進去USBCtrlEPService();去設定VID/PID
也確定沒有從 if(usb_device_state < DEFAULT_STATE) return; 跳出

請教一下我哪個部分漏掉了呢?

Attach file:



jpg  1.jpg (199.14 KB)
112045_61090faa39803.jpg 933X686 px

發表於: 8/3 17:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
[ more... ]

Microchip CAE 空中教室

教育訓練中心

課程 - 台北教育訓練中心
課程 - 新竹教育訓練中心
課程 - 高雄教育訓練中心
教育訓練中心介紹
購買 - 實驗工具
臺灣實驗板介紹與資源