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

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

?? mainloop.c

?? PDIUSBD12固件編程簡單實例
?? C
字號:
/*本程序套用smartUSB板的固件程序。如有什么問題請到我的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);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美综合一区二区| 丰满放荡岳乱妇91ww| 亚洲精品五月天| 国产精品久久久久婷婷二区次| 欧美精品一区二区三区蜜臀| 欧美一区二区三区四区五区| 91国模大尺度私拍在线视频| 国产电影一区在线| 亚洲大片免费看| 久久久久久99精品| 欧美无砖专区一中文字| 国产一区二区三区蝌蚪| 亚洲日本一区二区三区| www激情久久| 宅男噜噜噜66一区二区66| 国产91丝袜在线18| 免费在线视频一区| 亚洲成av人片一区二区三区| 国产精品久久免费看| 99久久精品免费| 成人免费视频网站在线观看| 久久精品国产澳门| 免费看日韩精品| 无码av免费一区二区三区试看 | av欧美精品.com| 国产一区二区三区在线观看免费视频| 午夜一区二区三区视频| 精品国产亚洲一区二区三区在线观看| 欧美日韩综合在线| 在线看国产日韩| 欧美亚洲国产一区二区三区| 亚洲国产婷婷综合在线精品| 一区二区三区在线播| 亚洲免费观看在线观看| 中文字幕一区二区三区蜜月 | 麻豆91在线播放免费| 日韩avvvv在线播放| 亚洲aⅴ怡春院| 日韩国产欧美在线视频| 精品亚洲欧美一区| 国产一区二三区| 国产高清精品久久久久| 成人黄色av电影| 91麻豆swag| 国产大陆精品国产| 99久精品国产| 在线观看视频91| 欧美日韩国产首页| 国产盗摄精品一区二区三区在线 | 亚洲视频一二三区| 久久青草欧美一区二区三区| 国产日韩欧美激情| 中文字幕 久热精品 视频在线 | 91免费看片在线观看| 99精品视频中文字幕| 日本不卡视频一二三区| 久久精品国产精品亚洲综合| 亚洲欧美综合在线精品| 亚洲成人一区在线| 国产自产高清不卡| 99久久精品国产麻豆演员表| 日韩和欧美一区二区三区| 麻豆91精品视频| 成人一区二区三区视频在线观看| 99久久er热在这里只有精品66| 成人国产精品免费观看视频| 色综合天天综合狠狠| 在线播放视频一区| 国产精品久久久久桃色tv| 自拍偷拍亚洲欧美日韩| 日本在线不卡一区| 高清成人免费视频| 欧美人伦禁忌dvd放荡欲情| 欧美欧美欧美欧美首页| 精品国产髙清在线看国产毛片| 久久久亚洲高清| 亚洲精品视频自拍| 国产精品69毛片高清亚洲| 在线看日本不卡| 国产片一区二区| 日本大胆欧美人术艺术动态| 粉嫩一区二区三区在线看| 欧美精三区欧美精三区| 久久亚洲欧美国产精品乐播 | 国产不卡免费视频| 欧美日韩免费观看一区三区| 国产欧美一区在线| 男人的天堂久久精品| 97se亚洲国产综合自在线| 久久欧美中文字幕| 免费成人av在线| 99亚偷拍自图区亚洲| 色香蕉久久蜜桃| 国产精品国产自产拍在线| 美女被吸乳得到大胸91| 国产高清精品久久久久| 精品卡一卡二卡三卡四在线| 一区二区三区免费在线观看| 亚洲va在线va天堂| 成人一区二区三区视频在线观看 | 欧美高清视频在线高清观看mv色露露十八| 制服视频三区第一页精品| 亚洲国产精品久久久久秋霞影院| 成人免费视频app| 欧美精彩视频一区二区三区| 亚洲综合视频网| 在线视频国产一区| 五月婷婷激情综合网| 欧美精品在线一区二区| 亚洲精品在线电影| 国产精品99久久久| 国产精品三级在线观看| 成人福利在线看| 欧美成人精品高清在线播放| 秋霞成人午夜伦在线观看| 91精品国产全国免费观看| 日韩二区在线观看| 成av人片一区二区| 亚洲免费观看高清完整版在线观看 | 亚洲在线中文字幕| 欧美色综合影院| 亚洲综合色丁香婷婷六月图片| 成人午夜大片免费观看| 亚洲视频中文字幕| 成人精品视频一区二区三区尤物| 欧美电影免费提供在线观看| 久久精品国产99| 国产欧美日韩视频一区二区| 国产精品一区二区视频| 国产欧美日韩另类一区| 色综合久久久久综合99| 日韩免费高清电影| 成人av资源网站| 成人app在线观看| 日本一区免费视频| 91久久精品一区二区三区| 国产喂奶挤奶一区二区三区| 99久久精品国产导航| 国产三级一区二区三区| 日韩精品亚洲专区| 中文字幕精品一区二区三区精品| 91传媒视频在线播放| 久久精品国内一区二区三区| 欧美日韩精品专区| 国产综合久久久久久久久久久久| 91精品婷婷国产综合久久竹菊| 久久99精品久久只有精品| 国产精品美女视频| 欧美探花视频资源| 风流少妇一区二区| 婷婷夜色潮精品综合在线| 国产风韵犹存在线视精品| 亚洲国产视频直播| 国产精品传媒在线| 91精品国产乱| 91性感美女视频| 久久爱www久久做| 亚洲成av人**亚洲成av**| 日韩一区二区精品| 欧美私人免费视频| 99久久国产综合精品色伊| 亚洲欧美色图小说| 国产亚洲婷婷免费| 欧美一区二区三区在线观看| 日本高清无吗v一区| 国产一区二区三区最好精华液| 亚洲福利视频一区二区| 成人免费小视频| 91国偷自产一区二区开放时间| 国产成人精品亚洲日本在线桃色| 天天综合天天综合色| 亚洲综合一二区| 亚洲欧美怡红院| 国产三级一区二区三区| 欧美精品一区二区在线播放| 欧美综合视频在线观看| 欧美一区二区三区在线视频| 精品久久久久久无| 中文字幕一区二区三区在线播放| 一区二区激情视频| 久久精品99国产精品| 成人福利在线看| 欧美浪妇xxxx高跟鞋交| 精品国产伦一区二区三区观看方式 | 在线观看日韩精品| 欧美一级片免费看| 久久精品欧美日韩| 亚洲一区二区精品视频| 精品一区二区三区av| 91一区二区三区在线观看| 日韩一区二区三区在线观看| 国产无一区二区| 日韩中文字幕91| 91无套直看片红桃| 精品国产一区a| 亚洲不卡一区二区三区| 国产精品一二三区| 91精品麻豆日日躁夜夜躁| 日韩一区在线免费观看| 久久99久久久久久久久久久|