⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpifburst8a.c

📁 本光盘专为SY2200 EZ-USB FX2 开发套件配置
💻 C
📖 第 1 页 / 共 3 页
字号:
		  break;
      }
	  case VX_B4:
      { // examine bc...
          *EP0BUF = EP8BCH;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;   				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
      }
	  case VX_B5:
      { // examine bc...
          *EP0BUF = EP8BCL;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;   				// Acknowledge handshake phase of device request
		 BLINK_LED();
		  break;
      }
	  case VX_B6:
      { // examine bc...
          *EP0BUF = EP8FIFOBCH;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;   				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
      }
	  case VX_B7:
      { // examine bc...
          *EP0BUF = EP8FIFOBCL;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;   				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
      }
	  case VX_C1:
      { // examine flags...
          *EP0BUF = EP2FIFOFLGS;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;   				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
      }
	  case VX_C2:
      { // examine flags...
          *EP0BUF = EP2468STAT;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;   				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
      }
	  case VX_C3:
      { // examine flags...
          *EP0BUF = EP24FIFOFLGS;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;  				 // Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
      }
	  case VX_C4:
      { // examine bc...
          *EP0BUF = EP2BCH;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;   				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
      }
	  case VX_C5:
      { // examine bc...
          *EP0BUF = EP2BCL;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;  				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
      }
	  case VX_C6:
      { // examine bc...
          *EP0BUF = EP2FIFOBCH;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;  				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
      }
	  case VX_C7:
      { // examine bc...
          *EP0BUF = EP2FIFOBCL;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;   				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
      }
	  case VX_D1:
      { 									// let TD_Poll( ); firmware handle data xfr's...
          xfrvia_TD_Poll = 1;
		  ledX_rdvar = LED0_ON;				// LED0 is ON: GPIF triggered in TD_POll 
          *EP0BUF = 0xD1;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;   				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
       }
	   case VX_D2:
       { // handle data xfr's via vendor specific cmds...
          xfrvia_TD_Poll = 0;
		  ledX_rdvar = LED0_OFF;			// LED0 is OFF: GPIF not triggered in TD_Poll 
          *EP0BUF = 0xD2;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;   				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
       }
	   case VX_E0:
       { // set GPIF FIFO Read event flag
          in_token_event = 1;
          *EP0BUF = 0xE0;
          EP0BCH = 0;
          EP0BCL = 1;         				// Arm endpoint with # bytes to transfer
          EP0CS |= bmHSNAK;  				// Acknowledge handshake phase of device request
		  BLINK_LED();
		  break;
       }
	}  
	return( FALSE );        				// no error; command handled OK
}

//-----------------------------------------------------------------------------
// USB Interrupt Handlers
//   The following functions are called by the USB interrupt jump table.
//-----------------------------------------------------------------------------

// Setup Data Available Interrupt Handler
void ISR_Sudav(void) interrupt 0
{
   GotSUD = TRUE;            // Set flag
   EZUSB_IRQ_CLEAR();
   USBIRQ = bmSUDAV;         // Clear SUDAV IRQ
}

// Setup Token Interrupt Handler
void ISR_Sutok(void) interrupt 0
{
   EZUSB_IRQ_CLEAR();
   USBIRQ = bmSUTOK;         // Clear SUTOK IRQ
}

void ISR_Sof(void) interrupt 0
{
   EZUSB_IRQ_CLEAR();
   USBIRQ = bmSOF;            // Clear SOF IRQ
}

void ISR_Ures(void) interrupt 0
{
   if (EZUSB_HIGHSPEED())
   {
      pConfigDscr = pHighSpeedConfigDscr;
      pOtherConfigDscr = pFullSpeedConfigDscr;
   }
   else
   {
      pConfigDscr = pFullSpeedConfigDscr;
      pOtherConfigDscr = pHighSpeedConfigDscr;
   }
   
   EZUSB_IRQ_CLEAR();
   USBIRQ = bmURES;         // Clear URES IRQ
}

void ISR_Susp(void) interrupt 0
{
   Sleep = TRUE;
   EZUSB_IRQ_CLEAR();
   USBIRQ = bmSUSP;
}

void ISR_Highspeed(void) interrupt 0
{
   if (EZUSB_HIGHSPEED())
   {
      pConfigDscr = pHighSpeedConfigDscr;
      pOtherConfigDscr = pFullSpeedConfigDscr;
   }
   else
   {
      pConfigDscr = pFullSpeedConfigDscr;
      pOtherConfigDscr = pHighSpeedConfigDscr;
   }

   EZUSB_IRQ_CLEAR();
   USBIRQ = bmHSGRANT;
}
void ISR_Ep0ack(void) interrupt 0
{
}
void ISR_Stub(void) interrupt 0
{
}
void ISR_Ep0in(void) interrupt 0
{
}
void ISR_Ep0out(void) interrupt 0
{
}
void ISR_Ep1in(void) interrupt 0
{
}
void ISR_Ep1out(void) interrupt 0
{
}
void ISR_Ep2inout(void) interrupt 0
{
}
void ISR_Ep4inout(void) interrupt 0
{
}
void ISR_Ep6inout(void) interrupt 0
{
}
void ISR_Ep8inout(void) interrupt 0
{
}
void ISR_Ibn(void) interrupt 0
{
}
void ISR_Ep0pingnak(void) interrupt 0
{
}
void ISR_Ep1pingnak(void) interrupt 0
{
}
void ISR_Ep2pingnak(void) interrupt 0
{
}
void ISR_Ep4pingnak(void) interrupt 0
{
}
void ISR_Ep6pingnak(void) interrupt 0
{
}
void ISR_Ep8pingnak(void) interrupt 0
{
}
void ISR_Errorlimit(void) interrupt 0
{
}
void ISR_Ep2piderror(void) interrupt 0
{
}
void ISR_Ep4piderror(void) interrupt 0
{
}
void ISR_Ep6piderror(void) interrupt 0
{
}
void ISR_Ep8piderror(void) interrupt 0
{
}
void ISR_Ep2pflag(void) interrupt 0
{
}
void ISR_Ep4pflag(void) interrupt 0
{
}
void ISR_Ep6pflag(void) interrupt 0
{
}
void ISR_Ep8pflag(void) interrupt 0
{
}
void ISR_Ep2eflag(void) interrupt 0
{
}
void ISR_Ep4eflag(void) interrupt 0
{
}
void ISR_Ep6eflag(void) interrupt 0
{
}
void ISR_Ep8eflag(void) interrupt 0
{
}
void ISR_Ep2fflag(void) interrupt 0
{
}
void ISR_Ep4fflag(void) interrupt 0
{
}
void ISR_Ep6fflag(void) interrupt 0
{
}
void ISR_Ep8fflag(void) interrupt 0
{
}
void ISR_GpifComplete(void) interrupt 0
{
}
void ISR_GpifWaveform(void) interrupt 0
{
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -