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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mainloop.c

?? USB接口芯片pdiusbd12固件源程序
?? C
字號(hào):
/*本程序套用smartUSB板的固件程序。如有什么問題請(qǐng)到我的blog:unaided.21ic.org上討論 */



#include <reg51.h>                /* special function register declarations   */
#include <stdio.h>
#include <string.h>
#include "epphal.h"
#include "d12ci.h"
#include "mainloop.h"
#include "usb100.h"
#include "chap_9.h"

/*
//*************************************************************************
// USB protocol function pointer arrays
//*************************************************************************
*/
code void (*StandardDeviceRequest[])(void) =
{
	get_status,
	clear_feature,
	reserved,
	set_feature,
	reserved,
	set_address,
	get_descriptor,
	reserved,
	get_configuration,
	set_configuration,
	get_interface,
	set_interface,
	reserved,
	reserved,
	reserved,
	reserved
};

/*
//*************************************************************************
//  Public static data
//*************************************************************************
*/

extern EPPFLAGS bEPPflags;
extern unsigned char idata GenEpBuf[];
extern unsigned char idata EpBuf[];
//extern IO_REQUEST idata ioRequest;


CONTROL_XFER ControlData;


void init_special_interrupts(void)
{
	EA=1;
	IT1=0;
	EX1=1;
	PX1=1;
}

void init_port()
{
	P0 = 0xFF;
	P1 = 0xFF;
	P2 = 0xFF;
	P3 = 0xFF;
//	D12SUSPD = 0;
}


void init_flags()
{
	bEPPflags.bits.bus_reset=0;           
	bEPPflags.bits.suspend=0;             
	bEPPflags.bits.setup_packet=0;  	  
	bEPPflags.bits.remote_wakeup=0;		
	bEPPflags.bits.in_isr=0;		      
	bEPPflags.bits.control_state=0;		
	bEPPflags.bits.configuration=0;		
	bEPPflags.bits.ep1_rxdone=0;
	bEPPflags.bits.main_rxdone=0;	
}


void main(void)
{
	unsigned short ID;
	unsigned char high,low;
	init_port();
	init_special_interrupts();;	
	init_flags();	
	ID=D12_ReadChipID();
	high=(unsigned char)(ID>>8);
	low=(unsigned char)ID;
	reconnect_USB();
	while( TRUE )
	{	
		if (bEPPflags.bits.bus_reset) 
		{
			DISABLE;
			bEPPflags.bits.bus_reset = 0;
			ENABLE;
//			D12SUSPD = 1;
		} 
/*		if (bEPPflags.bits.suspend) 
		{
			DISABLE;
			bEPPflags.bits.suspend= 0;
			ENABLE;
			if(D12SUSPD == 1) 
			{
				D12SUSPD = 0;
				P0 = 0xFF;
				P1 = 0xFF;
				P2 = 0xFF;
				P3 = 0xFF;
				D12SUSPD = 1;
				PCON |= 0x02;
				while (1);
			}
		} // if suspend change*/

		if (bEPPflags.bits.setup_packet)
		{
			DISABLE;
			bEPPflags.bits.setup_packet = 0;
			ENABLE;
			control_handler();
//			D12SUSPD = 1;
		} // if setup_packet
    	if(bEPPflags.bits.configuration)				
			IspControl();
	} // Main Loop

}

void stall_ep0(void)
{
	D12_SetEndpointStatus(0, 1);
	D12_SetEndpointStatus(1, 1);
}

void init_unconfig(void)
{
//	unsigned char i;

	D12_SetEndpointEnable(0);	/* Disable all endpoints but EPP0. */
}

void init_config(void)
{
	D12_SetEndpointEnable(1);	/* Enable  generic/iso endpoints. */
}

void single_transmit(unsigned char * buf, unsigned char len)
{
	if( len <= EP0_PACKET_SIZE) {
		D12_WriteEndpoint(1, len, buf);
	}
}

void code_transmit(unsigned char code * pRomData, unsigned short len)
{
	ControlData.wCount = 0;
	if(ControlData.wLength > len)
		ControlData.wLength = len;

	ControlData.pData = pRomData;
	if( ControlData.wLength >= EP0_PACKET_SIZE) {
		D12_WriteEndpoint(1, EP0_PACKET_SIZE, ControlData.pData);
		ControlData.wCount += EP0_PACKET_SIZE;

		DISABLE;
		bEPPflags.bits.control_state = USB_TRANSMIT;
		ENABLE;
	}
	else {
		D12_WriteEndpoint(1, ControlData.wLength, pRomData);
		ControlData.wCount += ControlData.wLength;
		DISABLE;
		bEPPflags.bits.control_state = USB_IDLE;
		ENABLE;
	}
}

void IspControl(void)
{
	P1=GenEpBuf[0];
}

void control_handler()
{
	unsigned char type, req;

	type = ControlData.DeviceRequest.bmRequestType & USB_REQUEST_TYPE_MASK;
	req = ControlData.DeviceRequest.bRequest & USB_REQUEST_MASK;
	if (type == USB_STANDARD_REQUEST)
		(*StandardDeviceRequest[req])();
	else
		stall_ep0();
}

void reconnect_USB(void)
{
//	D12SUSPD = 0;
	disconnect_USB();
	connect_USB();
}

void disconnect_USB(void)
{
	// Initialize D12 configuration
	D12_SetMode(D12_NOLAZYCLOCK, D12_SETTOONE | D12_CLOCK_12M);
}

void connect_USB(void)
{
	D12_SetDMA(D12_ENDP4INTENABLE | D12_ENDP5INTENABLE);
	D12_SetMode(D12_NOLAZYCLOCK|D12_SOFTCONNECT, D12_SETTOONE | D12_CLOCK_12M);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合久久久久久| 免费高清在线一区| 亚洲二区在线观看| 亚洲成精国产精品女| 亚洲欧洲精品一区二区三区| 日韩精品专区在线| 91精品国产综合久久久久久| 99精品欧美一区二区蜜桃免费| 国产一区二区精品在线观看| 午夜av电影一区| 亚洲成a人v欧美综合天堂下载| 亚洲毛片av在线| 玉米视频成人免费看| 亚洲精品国产一区二区精华液 | 一区二区高清视频在线观看| 中文字幕日本不卡| 最新热久久免费视频| 日韩精品一区二区在线观看| 91精品婷婷国产综合久久| 7777精品伊人久久久大香线蕉的 | 亚洲一区在线观看视频| 国产精品久久看| 一区二区三区在线视频观看| 亚洲人精品午夜| 亚洲成人在线网站| 免费在线观看一区| 精品在线视频一区| 国产成+人+日韩+欧美+亚洲| 国产精品综合网| 成人av中文字幕| 欧美日韩在线亚洲一区蜜芽| 欧美日韩视频第一区| 日韩欧美一区二区久久婷婷| 欧美激情一区二区三区四区| 一片黄亚洲嫩模| 极品美女销魂一区二区三区 | 一区二区三区国产精华| 五月天国产精品| 粉嫩嫩av羞羞动漫久久久| 色综合天天综合在线视频| 日韩免费观看2025年上映的电影| 中文字幕一区二| 国产精品911| 日韩一级免费一区| 五月天激情综合网| 欧美三级韩国三级日本一级| 亚洲人亚洲人成电影网站色| 日韩成人一级片| 激情欧美一区二区| 欧美日韩卡一卡二| 久久精品综合网| 激情综合色播激情啊| 91精品国产色综合久久不卡蜜臀 | 国产精品国产a级| 国产一区视频网站| 欧美精品在欧美一区二区少妇| 国产精品久久久久桃色tv| 久久成人精品无人区| 欧美精品黑人性xxxx| 亚洲综合在线视频| 欧美视频在线观看一区| 1000精品久久久久久久久| 盗摄精品av一区二区三区| 久久在线免费观看| 国产精一品亚洲二区在线视频| 日韩一级在线观看| 在线观看视频一区二区| 国产日韩精品一区二区三区| 国产在线播放一区| 欧美国产激情一区二区三区蜜月| 国产大片一区二区| 综合电影一区二区三区 | 成人av先锋影音| 一级女性全黄久久生活片免费| 在线观看三级视频欧美| 亚洲地区一二三色| 日韩欧美国产一区二区三区 | 国产成人免费网站| 亚洲精品乱码久久久久久久久 | 亚洲欧洲日韩女同| 欧美午夜视频网站| 久久er精品视频| 国产精品网站在线播放| 日本久久精品电影| 久久成人av少妇免费| 国产午夜一区二区三区| 欧美探花视频资源| 精品一区二区三区日韩| 亚洲色图在线播放| 精品国产麻豆免费人成网站| av毛片久久久久**hd| 香蕉成人伊视频在线观看| 国产精品国产三级国产专播品爱网| 26uuu欧美日本| 91一区二区在线观看| 国产精品一区二区在线观看不卡 | 日韩av电影天堂| 国产精品进线69影院| 7777精品伊人久久久大香线蕉| 国产一区欧美日韩| 亚洲成国产人片在线观看| 中文字幕在线一区| 26uuu另类欧美亚洲曰本| 91蜜桃网址入口| 成人综合婷婷国产精品久久蜜臀| 亚洲综合999| 亚洲欧洲无码一区二区三区| 精品毛片乱码1区2区3区| 欧美乱妇23p| 欧美曰成人黄网| 国产精品久久久久永久免费观看 | 制服丝袜亚洲网站| 欧美日韩在线播放| 国产精品无人区| 欧美videossexotv100| 337p亚洲精品色噜噜| 欧美一区二区三区在线观看视频| 色综合久久精品| 色94色欧美sute亚洲线路一久| 国产麻豆视频一区| 国产成人综合在线播放| 国产做a爰片久久毛片| 国产精品一区二区三区99| 国产麻豆9l精品三级站| 成人精品gif动图一区| 99久久99久久久精品齐齐| 一本色道亚洲精品aⅴ| 欧美手机在线视频| 欧美一区二区三区人| 日韩精品一区二区在线观看| 久久亚洲二区三区| 中文字幕一区二区三区色视频 | 欧美极品少妇xxxxⅹ高跟鞋| 中文字幕日本不卡| 日日骚欧美日韩| 国内精品自线一区二区三区视频| 欧美一级片在线| 国产精品久久久99| 亚洲成人动漫一区| 国产成人综合视频| 在线观看免费成人| 国产欧美综合在线| 美女国产一区二区三区| bt7086福利一区国产| 这里只有精品电影| 国产精品三级视频| 日本特黄久久久高潮| 99免费精品在线观看| 日韩一区二区三区精品视频| 17c精品麻豆一区二区免费| 裸体一区二区三区| 在线观看欧美黄色| 亚洲视频一二三区| 丁香亚洲综合激情啪啪综合| 欧美性色欧美a在线播放| 国产精品久久久久久亚洲毛片 | 国产日本欧美一区二区| 免费xxxx性欧美18vr| 欧美日韩一区二区三区高清| 国产精品人人做人人爽人人添| 美女视频网站久久| 在线不卡一区二区| 亚洲一区影音先锋| 欧洲一区在线观看| 亚洲国产日韩一区二区| 欧美日韩一区二区三区免费看| 亚洲最快最全在线视频| 色综合久久66| 亚洲国产综合在线| 91精品国产一区二区| 免费成人美女在线观看| 精品少妇一区二区三区在线播放| 蜜臀久久99精品久久久画质超高清| 4438x成人网最大色成网站| 青青草精品视频| 欧美变态tickle挠乳网站| 国内偷窥港台综合视频在线播放| 2020日本不卡一区二区视频| 国产美女在线精品| 中文字幕亚洲在| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 专区另类欧美日韩| 欧美视频中文一区二区三区在线观看| 亚洲免费观看在线视频| 欧美日韩精品一区二区三区蜜桃 | 成人性生交大片免费看中文| 日韩一区欧美一区| 欧美日韩国产影片| 久久99久久99| 亚洲精品v日韩精品| 精品日韩在线观看| 色女孩综合影院| 久久99精品视频| 一区二区三区在线看| 久久奇米777| 欧美麻豆精品久久久久久| 成人午夜精品在线| 久久国产麻豆精品| 亚洲一区免费在线观看| 日本一区二区免费在线观看视频|