資源簡介
SY2200 EZ-USB FX2開發板的所有例子源代碼,有助于USB開發的學習。

代碼片段和文件信息
#include?“a3load.h“
BOOL GotSUD; //?Received?setup?data?flag
BOOL??IsFX2;
BOOL?CheckForFX2()
{
???BYTE?temp;
???//?make?a?backup?copy?of?the?test?register
???temp?=?INTSETUP_FX2;
???
???//?see?if?we?are?running?on?an?FX2?by?writing?to?a?register?that
???//?only?exists?on?FX2?and?reading?back?the?value?that?should?stick
???INTSETUP_FX2?=?0xFF;
???if?(INTSETUP_FX2?==?0x0B)
???{
??????INTSETUP_FX2?=?temp;
??????return?TRUE;
???}
???else
???{
??????INTSETUP_FX2?=?temp;
??????return?FALSE;
???}
}
void?SetupCommand_EZUSB()
{
???WORD?addr?len?bc?i;
???if?(SETUPDAT_EZUSB[1]?==?VR_RAM)
???{
??????addr?=?SETUPDAT_EZUSB[2]; //?Get?address?and?length
??????addr?|=?SETUPDAT_EZUSB[3]?<8;
??????len?=?SETUPDAT_EZUSB[6];
??????len?|=?SETUPDAT_EZUSB[7]?<8;
??????if(SETUPDAT_EZUSB[0]?==?VR_DOWNLOAD)
{
?????????while(len) //?Move?new?data?through?EP0OUT?
?????????{ //?one?packet?at?a?time.
????????????//?Arm?endpoint?-?do?it?here?to?clear?(after?sud?avail)
????????????OUT0BC_EZUSB?=?0;
????????????while(EP0CS_EZUSB?&?bmOUTBSY_EZUSB);
????????????bc?=?OUT0BC_EZUSB;?//?Get?the?new?bytecount
?????????
?????????for(i=0;?i ???????????????*((BYTE?xdata?*)addr+i)?=?*(OUT0BUF_EZUSB+i);
????????????addr?+=?bc;
????????????len?-=?bc;
?????????}
??????}
??????else?if(SETUPDAT_EZUSB[0]?==?VR_UPLOAD)
??????{
?????????while(len) //?Move?requested?data?through?EP0IN?
?????????{ //?one?packet?at?a?time.
????????????if(len????????????????bc?=?len;
????????????else
????????????bc?=?EP0BUFF_SIZE;
????????????for(i=0;?i ???????????????*(IN0BUF_EZUSB+i)?=?*((BYTE?xdata?*)addr+i);
????????????IN0BC_EZUSB?=?(BYTE)bc;?//?Arm?endpoint?with?#?bytes?to?transfer
????????????addr?+=?bc;
????????????len?-=?bc;
????????????while(EP0CS_EZUSB?&?bmINBSY_EZUSB);
}
??????}??//?if?VR_UPLOAD
???}??//?if?VR_RAM
???else?if?(SETUPDAT_EZUSB[1]?==?VR_ISFX2)
???{
??????IN0BUF_EZUSB[0]?=?0;????//?not?FX2
??????IN0BC_EZUSB?=?1;
???}
???//?finish?off?the?transfer?by?setting?the?handshake?bit
???EP0CS_EZUSB?|=?bmHSNAK_EZUSB;
}
void?SetupCommand_FX2()
{
???WORD?addr?len?bc?i;
???if?(SETUPDAT_FX2[1]?==?VR_RAM)
???{
??????addr?=?SETUPDAT_FX2[2]; //?Get?address?and?length
??????addr?|=?SETUPDAT_FX2[3]?<8;
??????len?=?SETUPDAT_FX2[6];
??????len?|=?SETUPDAT_FX2[7]?<8;
??????if(SETUPDAT_FX2[0]?==?VR_DOWNLOAD)
{
?????????while(len) //?Move?new?data?through?EP0OUT?
?????????{ //?one?packet?at?a?time.
????????????//?Arm?endpoint?-?do?it?here?to?clear?(after?sud?avail)
????????????EP0BCH_FX2?=?0;
????????????EP0BCL_FX2?=?0;?//?Clear?bytecount?to?allow?new?data?in;?also?stops?NAKing
????????????while(EP0CS_FX2?&?bmEPBUSY);
????????????bc?=?EP0BCL_FX2;?//?Get?the?new?bytecount
?????????
?????????for(i=0;?i ???????????????*((BYTE?xdata?*)addr+i)?=?*(EP0BUF_FX2+i);
????????????addr?+=?bc;
??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5067??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\a3load\a3load.c
?????文件???????2340??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\a3load\a3load.h
?????文件???????2317??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\a3load\a3load.hex
?????文件??????13707??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\a3load\A3LOAD.M51
?????文件???????1163??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\a3load\build.bat
?????文件????????493??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\a3load\readme.txt
?????文件????????764??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\a3load\USBJmpTb.a51
?????文件???????1948??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\build.bat
?????文件??????27767??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext
?????文件??????10317??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext.c
?????文件???????7857??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext.hex
?????文件????????182??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext.lnp
?????文件??????17775??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext.LST
?????文件?????111422??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext.M51
?????文件??????12497??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext.OBJ
?????文件????????940??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext.Opt
?????文件????????282??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext.plg
?????文件???????1946??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext.Uv2
?????文件???????1946??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\bulkext_Uv2.Bak
?????文件???????8853??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\dscr.a51
?????文件??????17790??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\dscr.LST
?????文件???????1027??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\dscr.OBJ
?????文件??????13255??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\fw.c
?????文件??????19693??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\fw.LST
?????文件???????6689??2004-08-10?11:56??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\fw.OBJ
?????文件????????252??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkext\readme.txt
?????文件???????1956??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkloop\build.bat
?????文件??????27702??2004-08-10?11:57??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkloop\bulkloop
?????文件??????10082??2002-09-16?11:43??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkloop\bulkloop.c
?????文件???????7636??2004-08-10?11:57??SY2200?EZ-USB?FX2開發套件光盤\SY2200?Examples\FX2\bulkloop\bulkloop.hex
............此處省略352個文件信息
- 上一篇:C&C08程控數字交換仿真教學系統
- 下一篇:PMON工作原理分析
評論
共有 條評論