• slider image 514
  • slider image 516
  • slider image 517
  • slider image 518
  • slider image 519
:::


Browsing this Thread:   2 Anonymous Users




(1) 2 »


Re: 透過USB傳輸資料到XP裡
#12
中級會員
中級會員


查看用戶資訊
進度報告, 關於Eigen大的方式我兩種都試過了, 請看以下的敘訴:

>將 usbcfg.h 的
>#define USE_USB_BUS_SENSE_IO
>刪除就好了,不要偵測usb io。
這個方式可以成功讓我的USB裝置在WinXP裡被辨識, 可是也會造成我寫入EEPROM的資料發生問題

>找 TRISA0 ,將這改成你要的資料。
>EX: #define mInitPOT() >TRISAbits.TRISA0=1;ADCON0=0x01;ADCON2=0x3C;
這個方式我也試過, 唯一有TRISA0的code就是在io_cfg.h裡的POT區; 在更改之後, 並不能讓我的USB裝置被XP辨識, 問題依舊。

下面是我的程式中, 針對EEPROM Read and Write的code, 請參考:

void EE_Write (unsigned char EE_Address, unsigned char EE_Data)
{
PIR2bits.EEIF = 0;
EEADR = EE_Address;
EEDATA = EE_Data;
EECON1bits.EEPGD = 0;
EECON1bits.CFGS = 0;
EECON1bits.WREN = 1;
INTCONbits.GIE = 0; //disable all interrupts
_asm
MOVLW 0X55 //refer to page.86 of 18f4550 doc, cause it must be follow writen sequence..
MOVWF EECON2,0
MOVLW 0XAA
MOVWF EECON2,0
BSF EECON1,1,0 //Set WR bit to begin write , refer page.93
_endasm
INTCONbits.GIE = 1; //enable all interrupts
while (!PIR2bits.EEIF); //waiting for eeprom write action all done!
PIR2bits.EEIF = 0; //if done then clear EEIF flag , it means initial
EECON1bits.WREN = 0; //disable eeprom write cycle..
}

unsigned char EE_Read (unsigned char EE_Address)
{
EEADR = EE_Address;
EECON1bits.EEPGD = 0;
EECON1bits.CFGS = 0;
EECON1bits.RD = 1;
return EEDATA;
}

發表於: 2007/12/4 19:58
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 透過USB傳輸資料到XP裡
#11
中級會員
中級會員


查看用戶資訊
感謝Eigen大大的回應

在將 usebcfg.h 中的 #define USE_USB_BUS_SENSE_IO 取消掉之後
電腦已經可以辨識到USB的裝置

真的是十分感謝

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


Re: 透過USB傳輸資料到XP裡
#10
資深會員
資深會員


查看用戶資訊
將 usbcfg.h 的
#define USE_USB_BUS_SENSE_IO

刪除就好了,不要偵測usb io。

or 找 TRISA0 ,將這改成你要的資料。

EX: #define mInitPOT() TRISAbits.TRISA0=1;ADCON0=0x01;ADCON2=0x3C;

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


Re: 透過USB傳輸資料到XP裡
#9
中級會員
中級會員


查看用戶資訊
再請教

目前因為pin RA1被移作他用
所以我想將io_cfg.h中的針對RA1的定義改變成RD2
可是在改變後電腦卻無法辨識USB裝置
可以指導一下小弟
除了io_cfg.h以外, 我還需要更改哪裡的code嗎?
謝謝

/** U S B ***********************************************************/
//#define tris_usb_bus_sense TRISAbits.TRISA1 // Input
#define tris_usb_bus_sense TRISDbits.TRISD2 // Input

#if defined(USE_USB_BUS_SENSE_IO)
//#define usb_bus_sense PORTAbits.RA1
#define usb_bus_sense PORTDbits.RD2
#else
#define usb_bus_sense 1
#endif


發表於: 2007/12/3 12:40
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 透過USB傳輸資料到XP裡
#8
版主
版主


查看用戶資訊
Internal RC 震盪器無法直接連到 96MHz PLL 產生電路,你可以看 PIC18F4550 Data Sheet 第 2.0 章裡的 Figure 2-1 的方塊圖。96MHz PLL 只能從外部的 Crystal 輸入。

發表於: 2007/11/29 11:46
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 透過USB傳輸資料到XP裡
#7
中級會員
中級會員


查看用戶資訊
是...了解
看完SPEC關於USB震盪器的部份
發現現在P18XXXXX的USB module皆定義需要由外部震盪器起震
已經跟我們的HW Eng.討論過這個問題

謝謝您的答覆

發表於: 2007/11/29 9:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 透過USB傳輸資料到XP裡
#6
資深會員
資深會員


查看用戶資訊
It's impossible.

直接看 4550 datasheet 的第24頁。 DS39632a

usb 一定要外掛振盪器。

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


Re: 透過USB傳輸資料到XP裡
#5
中級會員
中級會員


查看用戶資訊
進度報告

再次與DEMO board做比對,發現有兩個地方不同

1. DEMO board上有透過JP2去獲得一個VBUS的input
2. DEMO board是用外部高頻震盪器, 而我們的版子是用內頻震盪器

根據這些發現我們先將DEMO board上的震盪器拆下來,裝在我們的版子上,然後再將連接到JP2的那幾隻腳pull high,之後電腦即可認出USB裝置。

另外再請教,雖然現在我是用DEMO board上的震盪器,可是還是需要改用內部的crystal(24MHz)作震盪器關於這點,我應該怎麼去做修改呢?

現在我們的線路圖震盪器這邊一頭接著OSC1/CLK1,另一頭是接著OSC2/CLKO/RA6,我要如何修改我的code呢?Code是用USB001_Workshop的Mouse HID DEMO code來改寫的.

發表於: 2007/11/28 14:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 透過USB傳輸資料到XP裡
#4
中級會員
中級會員


查看用戶資訊
最新進度報告

在經過多次的比對之後
我發現了一點問題
在APPO13插入電腦之後, 電腦的HID driver會自動認到USB的裝置
反之, 換上我們設計的卡片, 電腦卻不會自動抓到

絲忽是這個環節上出了問題

發表於: 2007/11/16 14:19
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 透過USB傳輸資料到XP裡
#3
中級會員
中級會員


查看用戶資訊
回Ryang大:
我的卡片是我們自己design,
不過一樣是用P18F4550

目前我能想到的就是可能是HID driver的pin defined不同
我看了io_cfg.h的宣告, 發現裡面用下面這段程式來宣告 USB


/** U S B ***********************************************************/
#define tris_usb_bus_sense TRISAbits.TRISA1 // Input

#if defined(USE_USB_BUS_SENSE_IO)
#define usb_bus_sense PORTAbits.RA1
#else
#define usb_bus_sense 1
#endif

#define tris_self_power TRISAbits.TRISA2 // Input

#if defined(USE_SELF_POWER_SENSE_IO)
#define self_power PORTAbits.RA2
#else
#define self_power 1
#endif

// External Transceiver Interface
#define tris_usb_vpo TRISBbits.TRISB3 // Output
#define tris_usb_vmo TRISBbits.TRISB2 // Output
#define tris_usb_rcv TRISAbits.TRISA4 // Input
#define tris_usb_vp TRISCbits.TRISC5 // Input
#define tris_usb_vm TRISCbits.TRISC4 // Input
#define tris_usb_oe TRISCbits.TRISC1 // Output

#define tris_usb_suspnd TRISAbits.TRISA3 // Output


不知道此段是否就是HID driver的pin defined.
我又要如何了解跟修改呢?
謝謝

發表於: 2007/11/13 12:10
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連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
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/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------