• 大小: 1.73MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-30
  • 语言: 其他
  • 标签: EZ-USB  FX2  

资源简介

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 < EP0BUFF_SIZE)
               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个文件信息

评论

共有 条评论