可工作於 Windows XP 的軟體 USB Bus Analyzer
|
||||
---|---|---|---|---|
管理員
|
在 USB 產品的開發過程中, 我們常希望能觀察 HOST(PC) 與 Device 間的通信過程與內容. 要達成這樣的工作可以仰賴專用的硬體與軟體的 solution.
在花錢買硬體的 BUS Analyzer 之前, 您可以在下列網址下載兩種常見的純軟體達成的 USB Bus Analyzer. 這兩種軟體都有試用版本可供下載 . 1. Bus Hound http://www.perisoft.net/bushound/index.htm 2. Snoopy : http://sourceforge.net/projects/usbsnoop/
發表於: 2008/9/5 0:29
|
|||
|
Re: PIC18F4550 USB(HID)與UART 的問題!!
|
||||
---|---|---|---|---|
管理員
|
你好,
可能的原因是 USB 原先設定的 Interrupt Priority 為 High , 所以如果你 Enable 中斷後會因為我們的 F/W 未使用中斷處理 USB . 所以會有問題:) 我的做法如下 : 1. 將 CPU 的優先式中斷 Enable. 2. 將 USB 的優先等級設為 Low 3. 將 UART 的優先設 High 4. Disable 低優先中斷
RCONbits.IPEN = 1 ; // Enable Priority interrupt type !!
發表於: 2008/8/25 11:38
|
|||
|
Re: PIC18f4550 usb口使用疑惑
|
||||
---|---|---|---|---|
管理員
|
Hi,
你可以參考 Microchip 提供的 Firmware Library 中, usbctrltrf.c 裡面的 subroutine USBCtrlEPService() 原則上 SIE 在收到 package 後會將收到的 PID 是什麼. 你只要檢查 BD 裡的 status byte 裡的 PID0 , PID1 and PID2 就 OK 了 :)
void USBCtrlEPService(void)
發表於: 2008/7/29 12:21
|
|||
|
Re: 下載中心->[RTC 實作及PDF講義 ]內的檔案無法下載
|
||||
---|---|---|---|---|
管理員
|
發表於: 2008/7/21 18:37
|
|||
|
Re: 下載中心->[RTC 實作及PDF講義 ]內的檔案無法下載
|
||||
---|---|---|---|---|
管理員
|
各位大人,
已經重新將檔案放回去了:) 謝謝大家的提醒.
發表於: 2008/7/21 16:52
|
|||
|
Re: 請問 18F65J50 可以使用 bootLoader燒code 嗎?
|
||||
---|---|---|---|---|
管理員
|
你好 :
1. Compiler boot loader 程式超過 2K bytes 是因為 Student Edition 在過了 60 天期限後最佳化功能受限所以會如此. 若是將最佳化全開的話大概是 995 words. 2. 將程式做偏移是 OK 的啦, 不過不需一次就偏移 2K bytes 的空間. PIC18F4550 的 Erase block size 是 64 Bytes . PIC18F65J50 的 Erase block 為 1024 bytes. 所以偏移的空間只要能跟 Erase block 對齊就 OK 了. 3. www.microchip.com.usb 可以下載到 Firmware V2.1 , 安裝後有 PIC18FXXJ50 的 bootloader 以及 PC 端的 Visual C++ 程式及 source code. 而且PIC18FXXJ50 用的是 HID 的 Device 喔 ! 拿來試試吧 .. 加油喔 !!
發表於: 2008/5/8 23:38
|
|||
|
Re: 為何終端機顯示之VR2電壓值無法停止??
|
||||
---|---|---|---|---|
管理員
|
你好,
程式中因為在 Timer2 中斷不斷的叫用 Read_VR2() , Show_ADC 以及更新 OCR1. 所以當然停不住啦. void _ISR _T2Interrupt(void) { OC1RS=Read_VR2( ); Show_ADC( ) ; // 將類比轉換結果顯示 OC1R = ADCBUF0<<6 ; // SetPulseOC1(ADCBUF0<<6, 0x0000) ; // 重新設定OC1波寬 LED1=!LED1; IFS0bits.T2IF = 0 ; } 在 main() 中, 程式的最後為 while(1); 你可以將 _T2Interrupt()的動作剪下然後貼到 main() 的最後 . >> 原本為 while(1) ; >> 改為 while(1) { while( SWn_Status ) ; OC1RS=Read_VR2( ); Show_ADC( ) ; // 將類比轉換結果顯示 OC1R = ADCBUF0<<6 ; } >> 如此就可以按一次鍵就只送一次 , 但你要自己定義 SWn_Status 到底指向哪一個 Input 腳, 而且沒按鍵的話是被 pill-high 的 :) 祝你順利 !!
發表於: 2008/5/8 23:23
|
|||
|
Re: 請問關於 PC18F6620 ROM 的問題
|
||||
---|---|---|---|---|
管理員
|
你好,
以上的每一行用來宣告各種型態的資料在 Program Memory 所處的位置. 例如 : CODEPAGE NAME=vectors START=0x0 END=0x29 PROTECTED 用來告訴 MPLINK , 有一個用於 RESET & Interrupt 向量的空間, 位於 0x000 - 0x029 的區間. 而且它的屬性是 "PROTECTED" 的, MPLINK 看得到但不能用 CODEPAGE NAME=page START=0x2a END=0xFFFF 用來告訴 MPLINK , 有一個名為 page 的區段, 由 0x2a 開始一直到 0xFFFF , 因為沒有保護, 所以 MPLINK 可以用它來為 user 分配程式. 而且 0xFFFF 是 PIC18F6620 Program Memory 的最後了 .. 至於其它的則為 CPU 的 device ID , Configuration bytes & EEPROM 所在位址的宣告而已. ** 你如果要多一段保護區 0x2A ~ 0x1FF , 則若做好下列修改就不會有資料被覆蓋的問題了 : CODEPAGE NAME=vectors START=0x0 END=0x29 PROTECTED CODEPAGE NAME=mypage START=0x2A END=0x1FF PROTECTED CODEPAGE NAME=page START=0x200 END=0xFFFF CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED CODEPAGE NAME=eedata START=0xF00000 END=0xF003FF PROTECTED 祝你開發順利 :)
發表於: 2008/4/1 17:43
|
|||
|
Re: 請教安裝C30的一些問題??
|
||||
---|---|---|---|---|
管理員
|
你好,
MPLAB_C30_v3_02-StudentEdition 是免費的版本, 所以直接安裝是 OK 的. 但是 MPLAB_C30_v3_02-Full 則為正式的全功能版本. 所以是須要購買的而且安裝時須要購買當時所附的序號啦 :) Best Regards,
發表於: 2008/3/31 11:18
|
|||
|