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

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

?? bulk_test.c

?? CY7C68013通過SPI接口下載固件至ADNS-3080后的測試代碼。
?? C
字號:
#pragma NOIV                    // Do not generate interrupt vectors
//-----------------------------------------------------------------------------
//   File:      portcstb.c
//   Contents:  Hooks required to implement USB peripheral function.
//              Code written for FX2 100-pin REVD...
//              This firmware is used to demonstrate the PORTC STROBE FEATURE
//   Copyright (c) 2001 Cypress Semiconductor All rights reserved
//-----------------------------------------------------------------------------
#include "fx2.h"
#include "fx2regs.h"
#include "fx2sdly.h"            // SYNCDELAY macro

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


BYTE Read(BYTE add);//讀數據

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

// EZUSB FX2 PORTA i/o...
//sbit LATRIGWR = IOA ^ 0;        // alt. func., INT0#
//sbit LATRIGRD = IOA ^ 1;        // alt. func., INT1#
sbit NPD  = IOA ^ 2;//PA2
sbit RST  = IOA ^ 3;//PA3            
sbit NCS  = IOA ^ 4;//PA4
sbit MISO = IOA ^ 5;//PA5
sbit SCLK = IOA ^ 6;//PA6
sbit MOSI = IOA ^ 7;//PA7
sbit LEN = IOB ^ 7;//PB7
// EZUSB FX2 PORTE is not bit-addressable...

// use this global variable when (de)asserting debug LEDs...

//-----------------------------------------------------------------------------
// Task Dispatcher hooks
//   The following hooks are called by the task dispatcher.
//-----------------------------------------------------------------------------

void TD_Init( void )              
{ // Called once at startup
  CPUCS = 0x10 ;
  IFCONFIG = 0xC0;
  EP1OUTCFG = 0xB0;
  EP1INCFG = 0xB0;
  SYNCDELAY;                    
  
  OEA = 0xFC;   //使能讀寫允許的引腳PA2、PA3、PA4、PA5、PA6、PA7、
  OEB = 0x80;   //PB7
  
  Rwuen = TRUE;                 // Enable remote-wakeup
}

void TD_Poll( void )              
{ // Called repeatedly while the device is idle

  if( !( EP1OUTCS & 0x02 ) && EP1OUTBC )//BUSY=0,OUT的緩沖區數據有效;若
  { 
	if(EP1OUTBUF[0]==0x11 && EP1OUTBUF[1]==0x22)  
	{
	  LEN=1;
      EZUSB_Delay(50);
      LEN=0;
      EZUSB_Delay(50);

      NPD = 0;//NPD->0 ->1供電
	  NPD=1;

      RST=1;//Reset->0 ->1復位
	  EZUSB_Delay1ms();//Delay(>=10us);
	  RST=0;
	
	  SCLK=1;//時鐘閑置時上拉

	  NCS=1;//NCS->1 ->0芯片選擇
	  NCS=0;

      EP1INBUF[0]=Read(0x1f);
	  EZUSB_Delay1ms();
      EP1INBUF[1]=Read(0x00);//PID 0x17
	  EZUSB_Delay1ms();
      EP1INBUF[2]=Read(0x01);
	  EZUSB_Delay1ms();
      EP1INBUF[3]=Read(0x02);
	  EZUSB_Delay1ms();
      EP1INBUF[4]=Read(0x03);
	  EZUSB_Delay1ms();
      EP1INBUF[5]=Read(0x04);
	  EZUSB_Delay1ms();
      EP1INBUF[6]=Read(0x0a);
	  EZUSB_Delay1ms();
      EP1INBUF[7]=Read(0x0e);
	  EZUSB_Delay1ms();
      EP1INBUF[8]=Read(0x10);
	  EZUSB_Delay1ms();
      EP1INBUF[9]=Read(0x11);
	  EZUSB_Delay1ms();
      EP1INBUF[10]=Read(0x3f);
	  EZUSB_Delay1ms();
      EP1INBUF[11]=Read(0x60);
	  EZUSB_Delay1ms();
      EP1INBUF[12]=Read(0x3D);
	  EZUSB_Delay1ms();
	  EP1INBUF[13]=(BYTE)MISO;
	  EZUSB_Delay1ms();
      EP1INBC=20;// 設置端點為IN傳輸,BUSY位自動置1
	}
	if(EP1OUTBUF[0]==0x11 && EP1OUTBUF[1]==0x33) 
	{
 	 NCS=1;//A3080停止工作
	}
	if(EP1OUTBUF[0]==0x22 && EP1OUTBUF[1]==0x33)  
	{
	  LEN=1;
      EZUSB_Delay(50);
      LEN=0;
      EZUSB_Delay(50);
	  EP1INBUF[0]=0x11;
      EP1INBC=20;// 設置端點為IN傳輸,BUSY位自動置1
	}

	EP1OUTBC = 0x00;
  }
  

}

BYTE Read(BYTE add)
{
  char a_add[9];
  BYTE data0;
  BYTE temp_data0;
  char i;
  //1、寫地址
  a_add[0]=0;//讀數據標志位
  a_add[1]=(add & 0x40)>>6;
  a_add[2]=(add & 0x20)>>5;
  a_add[3]=(add & 0x10)>>4;
  a_add[4]=(add & 0x08)>>3;
  a_add[5]=(add & 0x04)>>2;
  a_add[6]=(add & 0x02)>>1;
  a_add[7]=add & 0x01;
  for(i=0;i<8;i++)//寫地址
  {
  	SCLK=0;
	EZUSB_Delay1ms();
	MOSI=a_add[i];
	EZUSB_Delay1ms();
	SCLK=1;
	EZUSB_Delay1ms();
  }
  EZUSB_Delay1ms();//Tread>=50us
  SCLK=0;
  SCLK=1;
  for(i=0;i<8;i++)//讀數據
  {
  	SCLK=1;
	EZUSB_Delay1ms();
	//data0 += (BYTE)MISO<<(7-i);
	temp_data0 = MISO;
	data0 +=temp_data0<<(7-i);
	EZUSB_Delay1ms();
	SCLK=0;
	EZUSB_Delay1ms();
	SCLK=1;
  }

  LEN=1;
  EZUSB_Delay(50);
  LEN=0;
  EZUSB_Delay(50);

  return data0;
}


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 = 0;
   EP0BCL = 1;
   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 = 0;
   EP0BCL = 1;
   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 )
{
        return(TRUE);
}

//-----------------------------------------------------------------------------
// 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 + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产福利91精品| 韩国欧美一区二区| 中文字幕av资源一区| 欧美刺激午夜性久久久久久久| 欧美色涩在线第一页| 97精品国产97久久久久久久久久久久 | 欧美激情一区二区三区在线| 666欧美在线视频| 日韩一区二区三区在线视频| 欧美一个色资源| 欧美成人a视频| 欧美经典三级视频一区二区三区| 欧美国产一区在线| 亚洲青青青在线视频| 亚洲激情av在线| 日本v片在线高清不卡在线观看| 美女脱光内衣内裤视频久久网站| 精品一区二区三区日韩| 国产成人免费高清| 99精品偷自拍| 5月丁香婷婷综合| 久久久久久亚洲综合影院红桃| 国产婷婷一区二区| 亚洲狠狠爱一区二区三区| 三级久久三级久久久| 国产精品白丝jk白祙喷水网站 | av爱爱亚洲一区| 精品视频在线看| 日韩精品一区二区三区四区视频 | 久久这里只精品最新地址| 国产日韩欧美麻豆| 亚洲成av人影院| 国产美女娇喘av呻吟久久| 92精品国产成人观看免费| 91精品婷婷国产综合久久性色| 久久免费的精品国产v∧| 亚洲人成精品久久久久久| 婷婷成人激情在线网| 国产aⅴ精品一区二区三区色成熟| 91国内精品野花午夜精品| 欧美一级日韩一级| 亚洲欧洲综合另类在线| 韩国精品在线观看| 欧美三电影在线| 中文字幕高清一区| 日韩av一区二区三区| 成人app网站| 久久亚洲私人国产精品va媚药| 一区二区三区在线播| 国产成人鲁色资源国产91色综 | 亚洲成在线观看| 不卡的电影网站| 精品人在线二区三区| 一区二区三区成人| 成人avav影音| 国产日韩欧美激情| 久久精品国产精品亚洲精品| 欧美日韩国产一级| 亚洲精品国产无天堂网2021| 成人app网站| 日本一区免费视频| 国产乱一区二区| 日韩欧美中文字幕精品| 无码av中文一区二区三区桃花岛| 91在线观看下载| 国产精品久久三| 国产一区二区美女诱惑| 久久噜噜亚洲综合| 久久国产精品99精品国产| 欧美一区二区三区四区久久 | 久久久高清一区二区三区| 美女视频一区在线观看| 91精品国产91久久综合桃花| 一区二区三区**美女毛片| 色偷偷88欧美精品久久久| 亚洲欧美一区二区三区久本道91| www.亚洲激情.com| 亚洲免费av观看| 欧美视频一区在线| 日韩精品成人一区二区三区| 欧美日韩高清在线| 日本不卡中文字幕| 欧美精品一区视频| 风间由美一区二区三区在线观看 | 欧美撒尿777hd撒尿| 婷婷综合另类小说色区| 制服丝袜日韩国产| 精品亚洲成av人在线观看| 2020国产成人综合网| 国产成人高清视频| 一区二区三区欧美视频| 欧美日韩在线播放三区| 日本不卡不码高清免费观看 | 99久久国产综合精品色伊| 亚洲一区视频在线| 欧美一区二区三区在线观看视频| 毛片av一区二区| 久久精品一区二区三区不卡牛牛| 不卡视频在线观看| 天天影视涩香欲综合网 | 亚洲主播在线观看| 日韩欧美一级片| 国产成人亚洲综合a∨婷婷| 伊人性伊人情综合网| 欧美一级久久久| 99久久免费国产| 日韩激情中文字幕| 国产精品乱人伦中文| 欧美日韩国产色站一区二区三区| 韩国成人在线视频| 亚洲女人的天堂| 日韩午夜在线播放| 99精品视频在线免费观看| 日韩精品一区第一页| 日本一区二区视频在线观看| 777午夜精品免费视频| 成人毛片老司机大片| 日本欧美肥老太交大片| 亚洲欧洲日韩一区二区三区| 欧美一区二区三区四区久久| 色综合一个色综合| 国产传媒一区在线| 美女性感视频久久| 午夜不卡av在线| 亚洲欧美日韩国产综合| 国产无一区二区| 日韩视频在线一区二区| 欧美亚洲一区二区在线| caoporen国产精品视频| 久99久精品视频免费观看| 午夜久久久久久久久| 一区二区三区在线影院| 亚洲欧洲成人自拍| 国产日韩精品一区二区三区| 精品欧美一区二区久久 | av亚洲精华国产精华| 久久99精品久久久久久| 日本女优在线视频一区二区| 亚洲一区二区三区小说| 亚洲精品欧美专区| 亚洲免费观看视频| 国产精品久久久久婷婷二区次| 精品国产3级a| 精品精品欲导航| 欧美不卡激情三级在线观看| 91精品国模一区二区三区| 欧美日本视频在线| 欧美理论片在线| 欧美精选在线播放| 9191成人精品久久| 欧美一区二区免费视频| 日韩一区二区三区三四区视频在线观看| 欧美综合久久久| 精品视频免费在线| 欧洲生活片亚洲生活在线观看| 一本到三区不卡视频| 日本精品视频一区二区| 欧美一a一片一级一片| 欧美日韩国产精选| 欧美一区二区精品久久911| 日韩午夜中文字幕| 国产亚洲欧美中文| 亚洲欧美日韩在线| 日韩av电影天堂| 精品一二三四在线| 99久久伊人精品| 在线成人av网站| 亚洲精品在线观看网站| 欧美国产日本视频| 亚洲免费观看高清| 麻豆一区二区在线| 高清不卡在线观看| 在线视频中文字幕一区二区| 91精品国产91久久久久久一区二区 | 欧美伊人精品成人久久综合97| 欧美卡1卡2卡| 国产视频一区二区三区在线观看| 国产精品欧美精品| 日日摸夜夜添夜夜添亚洲女人| 黄色小说综合网站| 日本电影亚洲天堂一区| 日韩网站在线看片你懂的| 日本一区二区久久| 天天爽夜夜爽夜夜爽精品视频| 久草中文综合在线| 色综合久久天天综合网| 精品国产露脸精彩对白| 亚洲日本va午夜在线影院| 免费观看日韩电影| 色哦色哦哦色天天综合| xnxx国产精品| 亚洲国产日日夜夜| 国产一区二区三区国产| 欧美日韩成人综合| 国产精品二区一区二区aⅴ污介绍| 日韩精品一区第一页| 色婷婷综合在线| 亚洲国产精品成人综合色在线婷婷| 伊人色综合久久天天人手人婷| 国产高清精品在线|