亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bulkloop.c

?? 用Cypress單片機FX2實現數據采集的固件程序
?? C
字號:
#pragma NOIV               // Do not generate interrupt vectors
//-----------------------------------------------------------------------------
//   File:      bulkloop.c
//   Contents:   Hooks required to implement USB peripheral function.
//
//   Copyright (c) 2000 Cypress Semiconductor All rights reserved
//-----------------------------------------------------------------------------
#include "fx2.h"
#include "fx2regs.h"
#include "fx2sdly.h"            // SYNCDELAY macro
#include "string.h"

extern BOOL GotSUD;             // Received setup data flag
extern BOOL Sleep;
extern BOOL Rwuen;
extern BOOL Selfpwr;

BYTE Configuration;             // Current configuration
BYTE AlternateSetting;          // Alternate settings

#define VR_NAKALL_ON    0xD0
#define VR_NAKALL_OFF   0xD1

void SlaveFIFOInit(void)
{
  REVCTL = 0x03;     
  SYNCDELAY;
  SYNCDELAY;
 
  IFCONFIG = 0xEB;
  SYNCDELAY;
 
  EP2FIFOCFG = 0x0D; 
  SYNCDELAY;
  
  EP2CFG = 0xE8; 
  SYNCDELAY;

  PINFLAGSAB = 0x00; 
  SYNCDELAY; 
  PINFLAGSCD = 0x00; 
  SYNCDELAY;
 
  PORTACFG = 0xC0;    
  FIFOPINPOLAR = 0x00; 
  SYNCDELAY;

  EP2AUTOINLENH = 0x04;
  SYNCDELAY; 
  EP2AUTOINLENL = 0x00;
  SYNCDELAY;
 
  EP2FIFOPFH = 0xC2; 
  SYNCDELAY;        
  EP2FIFOPFL = 0x00;
  SYNCDELAY;
 
  FIFORESET = 0x80;  
  SYNCDELAY;
  FIFORESET = 0x02;  
  SYNCDELAY;
  FIFORESET = 0x00;  
  SYNCDELAY;


   EP4BCL = 0x80; //4倍緩沖,寫4遍
   SYNCDELAY;
   EP4BCL = 0x80; 
   SYNCDELAY;
   EP4BCL = 0x80;
   SYNCDELAY;
   EP4BCL = 0x80;
   SYNCDELAY;

   EP6BCL = 0x80;
   SYNCDELAY;
   EP6BCL = 0x80; 
   SYNCDELAY;
   EP6BCL = 0x80; 
   SYNCDELAY;
   EP6BCL = 0x80; 
   SYNCDELAY;

   EP8BCL = 0x80;
   SYNCDELAY;
   EP8BCL = 0x80;
   SYNCDELAY;
   EP8BCL = 0x80;
   SYNCDELAY;
   EP8BCL = 0x80; 
   SYNCDELAY;
}

void FPGAInit(void)
{
  *((BYTE xdata *) 0x2000) = 0X00; //復位硬件電路
}

void SENDDATA(void)
{
   *((BYTE xdata *) 0x2000) = EP1OUTBUF[0]; //利用地址線和數據線發送命令到FPGA
   *((BYTE xdata *) 0x4000) = EP1OUTBUF[1];
   *((BYTE xdata *) 0x6000) = EP1OUTBUF[2];
   *((BYTE xdata *) 0x8000) = EP1OUTBUF[3];
   *((BYTE xdata *) 0xA000) = EP1OUTBUF[4];
   *((BYTE xdata *) 0xC000) = EP1OUTBUF[5];
   *((BYTE xdata *) 0xE000) = EP1OUTBUF[6];
   *((BYTE xdata *) 0x0400) = EP1OUTBUF[7];
   *((BYTE xdata *) 0x0800) = EP1OUTBUF[8];
   *((BYTE xdata *) 0x0C00) = EP1OUTBUF[9];
   *((BYTE xdata *) 0x1000) = 0X00;
   *((BYTE xdata *) 0x1000) = EP1OUTBUF[10];
   *((BYTE xdata *) 0x1400) = EP1OUTBUF[11];
   *((BYTE xdata *) 0x1800) = EP1OUTBUF[12];
   *((BYTE xdata *) 0x1C00) = EP1OUTBUF[13];
}

void TD_Init(void)             
{
  IFCONFIG = 0xEB;
  SYNCDELAY;

  EP1OUTCFG=0xA0;
  SYNCDELAY;
 
  EP2CFG = 0xE8; 
  SYNCDELAY;

  PORTACFG = 0xC0;
    
  EPIE|=0x10;
  SYNCDELAY;

  EP2BCL = 0x80; //管道2初始化
  SYNCDELAY;
  EP2BCL = 0x80; 
  SYNCDELAY;

  AUTOPTRSETUP |= 0x01;
  Rwuen = TRUE;   

}

void TD_Poll(void)              
{
   EP1OUTBC=0;
}

BOOL TD_Suspend(void)          // Called before the device goes into suspend mode
{
   return(TRUE);
}

BOOL TD_Resume(void)          // Called after the device resumes
{
   return(TRUE);
}

//-----------------------------------------------------------------------------
// Device Request hooks
//   The following hooks are called by the end point 0 device request parser.
//-----------------------------------------------------------------------------

BOOL DR_GetDescriptor(void)
{
   return(TRUE);
}

BOOL DR_SetConfiguration(void)   // Called when a Set Configuration command is received
{
   Configuration = SETUPDAT[2];
   return(TRUE);            // Handled by user code
}

BOOL DR_GetConfiguration(void)   // Called when a Get Configuration command is received
{
   EP0BUF[0] = Configuration;
   EP0BCH = 0X00;
   EP0BCL = 0X01;
   return(TRUE);            // Handled by user code
}

BOOL DR_SetInterface(void)       // Called when a Set Interface command is received
{
   AlternateSetting = SETUPDAT[2];
   return(TRUE);            // Handled by user code
}

BOOL DR_GetInterface(void)       // Called when a Set Interface command is received
{
   EP0BUF[0] = AlternateSetting;
   EP0BCH = 0X00;
   EP0BCL = 0X01;
   return(TRUE);            // Handled by user code
}

BOOL DR_GetStatus(void)
{
   return(TRUE);
}

BOOL DR_ClearFeature(void)
{
   return(TRUE);
}

BOOL DR_SetFeature(void)
{
   return(TRUE);
}

BOOL DR_VendorCmnd(void)
{
  BYTE tmp;
  
  switch (SETUPDAT[1])
  {
     case VR_NAKALL_ON:
        tmp = FIFORESET;
        tmp |= bmNAKALL;      
        SYNCDELAY;                    
        FIFORESET = tmp;
        break;
     case VR_NAKALL_OFF:
        tmp = FIFORESET;
        tmp &= ~bmNAKALL;      
        SYNCDELAY;                    
        FIFORESET = tmp;
        break;
	 case 0xB3:
	    SlaveFIFOInit();
		FPGAInit();
        SENDDATA();
		*EP0BUF=0xB3; EP0BCH=0; EP0BCL=1; EP0CS|=bmHSNAK;
	    break;
     default:
        return(TRUE);
  }

  return(FALSE);
}

//-----------------------------------------------------------------------------
// 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
{
   // whenever we get a USB reset, we should revert to full speed mode
   pConfigDscr = pFullSpeedConfigDscr;
   ((CONFIGDSCR xdata *) pConfigDscr)->type = CONFIG_DSCR;
   pOtherConfigDscr = pHighSpeedConfigDscr;
   ((CONFIGDSCR xdata *) pOtherConfigDscr)->type = OTHERSPEED_DSCR;

   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;
      ((CONFIGDSCR xdata *) pConfigDscr)->type = CONFIG_DSCR;
      pOtherConfigDscr = pFullSpeedConfigDscr;
      ((CONFIGDSCR xdata *) pOtherConfigDscr)->type = OTHERSPEED_DSCR;
   }

   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 + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天色综合天天| 欧美日韩国产经典色站一区二区三区| 99r国产精品| 在线不卡中文字幕播放| 国产精品美日韩| 激情综合色播五月| 91精品国产综合久久久久久 | 亚洲国产va精品久久久不卡综合| 韩国三级电影一区二区| 欧美丰满一区二区免费视频 | 久久这里只有精品6| 五月天激情小说综合| 99天天综合性| 欧美国产禁国产网站cc| 麻豆91精品91久久久的内涵| 在线观看一区不卡| 中文字幕在线不卡| 成人激情黄色小说| 国产欧美一区二区三区在线看蜜臀 | 欧洲一区二区三区在线| 国产精品视频线看| 国产69精品久久久久777| 日韩欧美一区二区在线视频| 午夜一区二区三区视频| 精品视频资源站| 亚洲乱码日产精品bd| 成人h动漫精品一区二| 久久精品一二三| 国产精品一区二区在线看| 欧美不卡一区二区三区四区| 美女免费视频一区二区| 日韩免费一区二区| 另类的小说在线视频另类成人小视频在线 | 日韩欧美一级二级三级久久久 | 亚洲乱码国产乱码精品精的特点| 成人丝袜18视频在线观看| 国产精品每日更新| av福利精品导航| 亚洲欧洲日本在线| 91久久精品国产91性色tv | 欧美性猛片aaaaaaa做受| 亚洲一区二区三区三| 欧美日韩免费不卡视频一区二区三区| 亚洲国产日韩av| 4438成人网| 国产在线日韩欧美| 国产欧美精品日韩区二区麻豆天美| 国产不卡在线视频| 日韩美女啊v在线免费观看| 日本精品裸体写真集在线观看| 亚洲国产精品尤物yw在线观看| 欧美高清hd18日本| 国内一区二区视频| 亚洲人123区| 欧美色爱综合网| 狠狠狠色丁香婷婷综合久久五月| 久久九九久久九九| 日本韩国欧美一区二区三区| 午夜精品久久久久久久久久久| 日韩精品一区二区三区老鸭窝| 成人免费视频一区| 亚洲国产精品嫩草影院| 久久中文字幕电影| 欧美性色aⅴ视频一区日韩精品| 美国三级日本三级久久99| 国产日本欧美一区二区| 91国偷自产一区二区三区观看 | 一区二区久久久久久| 日韩亚洲欧美高清| 91在线高清观看| 男人的天堂亚洲一区| 中文字幕免费不卡| 欧美精品 日韩| www.亚洲在线| 蜜臀av一区二区三区| 最好看的中文字幕久久| 日韩欧美亚洲一区二区| 色婷婷综合久久久久中文| 精品一区二区免费在线观看| 亚洲欧美视频在线观看| 精品国产91九色蝌蚪| 91久久国产最好的精华液| 国产精品一品视频| 日本欧美久久久久免费播放网| 国产精品乱码一区二三区小蝌蚪| 91精品国产综合久久蜜臀| 99这里只有精品| 国产剧情一区二区三区| 蜜臀av一区二区在线免费观看| 亚洲黄色av一区| 国产精品天美传媒| 久久久国产精品麻豆| 欧美一区二区三区四区五区 | 91丨九色丨国产丨porny| 精品一区二区三区在线视频| 精品制服美女久久| 亚洲欧美怡红院| 久久青草欧美一区二区三区| 欧美精品日日鲁夜夜添| 91久久精品一区二区三| 99久久精品免费看国产免费软件| 麻豆精品视频在线观看| 一区二区免费在线| 一区二区三区在线观看动漫| 国产精品国产三级国产专播品爱网 | 亚洲 欧美综合在线网络| 亚洲丝袜另类动漫二区| 国产精品三级电影| 中文字幕二三区不卡| 国产欧美一区二区精品性色超碰| 精品奇米国产一区二区三区| 这里是久久伊人| 91精品国产色综合久久不卡蜜臀| 欧美日韩国产免费| 欧美日韩黄色影视| 欧美精品在线观看播放| 欧美日韩一区 二区 三区 久久精品| 色噜噜狠狠成人网p站| 91在线视频18| 在线观看日韩高清av| 欧洲一区二区三区免费视频| 欧美日韩一区二区三区不卡| 欧美精品久久天天躁| 在线观看91av| 亚洲精品一区二区三区99| 国产欧美日本一区视频| 中文字幕亚洲电影| 一区二区高清视频在线观看| 亚洲成人精品影院| 青娱乐精品在线视频| 激情综合网av| 成人av网址在线| 欧美日韩黄色一区二区| 欧美大胆人体bbbb| 国产精品嫩草影院com| 亚洲另类春色校园小说| 偷窥国产亚洲免费视频| 国产一区二区伦理片| 99久久国产综合精品色伊| 欧美色爱综合网| 久久久久久久久久久电影| 中文一区二区在线观看 | 亚洲欧洲美洲综合色网| 亚洲精品水蜜桃| 美女mm1313爽爽久久久蜜臀| 高清beeg欧美| 欧美日韩国产一级| 久久蜜桃av一区精品变态类天堂| 国产精品久久久久9999吃药| 亚洲成人综合网站| 国产精品一线二线三线| 欧美在线小视频| 久久亚洲影视婷婷| 中文字幕一区av| 卡一卡二国产精品| 一本高清dvd不卡在线观看| 日韩一区二区三区在线| 国产精品成人网| 久久精品国内一区二区三区| 99视频一区二区| 欧美一级久久久| 亚洲精品第一国产综合野| 国产在线看一区| 欧美日韩国产高清一区| 国产精品网友自拍| 九九视频精品免费| 欧美日韩亚洲综合在线| 国产精品免费观看视频| 九色|91porny| 91精品国产日韩91久久久久久| 国产精品伦一区| 国产一二精品视频| 欧美精品精品一区| 一区二区三区四区亚洲| 懂色一区二区三区免费观看| 91精品欧美综合在线观看最新 | 国产精品嫩草99a| 久久成人av少妇免费| 欧美色中文字幕| 国产精品国产三级国产有无不卡| 久久精品理论片| 日韩一区国产二区欧美三区| 亚洲欧美激情插 | 成人免费在线播放视频| 国产又黄又大久久| 日韩欧美黄色影院| 三级一区在线视频先锋 | 久久久无码精品亚洲日韩按摩| 亚洲一区二区三区四区在线免费观看| 成人免费视频国产在线观看| 国产婷婷一区二区| 国产精品77777竹菊影视小说| 欧美大片顶级少妇| 久久国产欧美日韩精品| 欧美一区二区三区在线观看 | 欧美不卡一二三| 精品无人码麻豆乱码1区2区| 日韩欧美的一区二区| 捆绑紧缚一区二区三区视频| 欧美大片免费久久精品三p|