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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? protodma.c

?? USB test code, use P89c52x2 to develop a USB node
?? C
字號(hào):
#include <stdio.h>
#include <string.h>

#include <reg51.h>                /* special function register declarations   */
#include "epphal.h"

#include "d12ci.h"
#include "mainloop.h"
#include "usb100.h"
#include "chap_9.h"

extern CONTROL_XFER ControlData;
extern IO_REQUEST idata ioRequest;
extern EPPFLAGS bEPPflags;
extern BOOL bNoRAM;
extern unsigned char idata EpBuf[EP2_PACKET_SIZE];

//獲取固件版本號(hào)
void get_firmware_version()
{
	unsigned char i;

	i = 0x30; // firmware version number
	single_transmit((unsigned char *)&i, 1);
}

//獲取端點(diǎn)2緩存區(qū)大小
void get_buffer_size()
{
	unsigned char i[4];

	if(bNoRAM == TRUE) {
		i[0] = EP2_PACKET_SIZE;
		i[1] = 0;
		i[2] = 0;
		i[3] = 0;
	} else {
		i[0] = 0;
		i[1] = 1;
		i[2] = 0;
		i[3] = 0;
	}
	single_transmit((unsigned char *)&i, 4);
}

//DMA請(qǐng)求響應(yīng)子程序
void setup_dma_request()
{
	memcpy((unsigned char *)&ioRequest + ControlData.DeviceRequest.wValue,
		ControlData.dataBuffer,
		ControlData.DeviceRequest.wLength);

	ioRequest.uSize = SWAP(ioRequest.uSize);
	ioRequest.uAddressL = SWAP(ioRequest.uAddressL);

	if(ioRequest.uSize > DMA_BUFFER_SIZE) { // Unaccepted request
		stall_ep0();//DMA設(shè)置出錯(cuò)
	}
	else if(bNoRAM == TRUE && ioRequest.uSize > EP2_PACKET_SIZE) {
		stall_ep0();//DMA緩沖區(qū)出錯(cuò)
	}
	else {
		if(bEPPflags.bits.dma_state == DMA_IDLE) {
			DISABLE;
			bEPPflags.bits.setup_dma ++;
			ENABLE;
		}
		else {
			DISABLE;
			bEPPflags.bits.dma_state = DMA_PENDING;
			ENABLE;
		}

	} // else if accepted request
}

//廠商請(qǐng)求處理
void read_write_register(void)
{
	unsigned char i,len,epstatus;

	if(ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) {

		if(bEPPflags.bits.verbose)
			printf("Read Registers: Offset = 0x%x, Length = 0x%x, Index = 0x%x.\n",
				ControlData.DeviceRequest.wValue,
				ControlData.DeviceRequest.wLength,
				ControlData.DeviceRequest.wIndex);

		if(ControlData.DeviceRequest.wIndex == GET_FIRMWARE_VERSION &&
			ControlData.DeviceRequest.wValue == 0 &&
			ControlData.DeviceRequest.wLength == 1)
			get_firmware_version();//獲取固件版本號(hào)
		else
		if(ControlData.DeviceRequest.wIndex == GET_BUFFER_SIZE &&
			ControlData.DeviceRequest.wValue == 0 &&
			ControlData.DeviceRequest.wLength == 4)
			get_buffer_size();//獲取緩沖區(qū)大小
		else
			stall_ep0();

	}	// if read register
	else{
		if(bEPPflags.bits.verbose) {

			printf("Write Registers: Offset = 0x%x, Length = 0x%x, Index = 0x%x.\n",
				ControlData.DeviceRequest.wValue,
				ControlData.DeviceRequest.wLength,
				ControlData.DeviceRequest.wIndex);

			printf("Data: ");
			for(i = 0; i < ControlData.DeviceRequest.wLength; i ++)
				printf("0x%bx, ", *((ControlData.dataBuffer)+i));
			printf("\n");
		}

		if(ControlData.DeviceRequest.wIndex == SETUP_DMA_REQUEST &&
			ControlData.DeviceRequest.wValue == 0 &&
			ControlData.DeviceRequest.wLength == 6)
		   	{
				if(ControlData.dataBuffer[5]==0x81)
				{
					D12_WriteEndpoint(5, ControlData.dataBuffer[3], EpBuf);//發(fā)送數(shù)據(jù)
				}
				if(ControlData.dataBuffer[5]==0x80)
				{
					epstatus=D12_ReadEndpointStatus(4);
					epstatus &= 0x60;
					if (epstatus == 0x60)
						len = D12_ReadEndpoint(4, 64, EpBuf);//讀取雙緩沖區(qū)數(shù)據(jù)
 				}
				single_transmit(0, 0);
				//setup_dma_request();//DMA設(shè)置處理,因?yàn)槲词褂肈MA所以屏蔽掉
			}				
		else
			stall_ep0();
	}	// if write register
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕精品一区二区三区精品| 亚洲三级免费电影| 日本美女视频一区二区| 久久精品国产久精国产爱| 91精品国产综合久久精品性色| 国产欧美精品日韩区二区麻豆天美| 狠狠久久亚洲欧美| 欧美蜜桃一区二区三区| 久久精品国产精品亚洲精品| 色av成人天堂桃色av| 亚洲成人综合视频| 成人激情黄色小说| 国产精品福利一区| 国产一区二区伦理片| 中文字幕欧美激情一区| 九色综合国产一区二区三区| 6080午夜不卡| 国产麻豆91精品| 亚洲三级小视频| 911精品产国品一二三产区| 久久精品久久99精品久久| 亚洲影院久久精品| 中文字幕中文字幕一区| 国产一区二区三区在线看麻豆| 精品国产99国产精品| 99re8在线精品视频免费播放| 亚洲一区二区综合| 欧美xxxxxxxx| 一本色道久久加勒比精品| 日韩电影免费一区| 国产精品免费视频一区| 91麻豆精品国产91久久久久久久久 | 国产乱码一区二区三区| 亚洲色图欧美激情| 欧美哺乳videos| 91亚洲精品乱码久久久久久蜜桃| 日本不卡123| 亚洲人一二三区| 久久综合九色综合97婷婷女人 | 久久国产精品色| 亚洲视频一区二区在线| 日韩精品一区二区在线观看| 99精品视频中文字幕| 麻豆高清免费国产一区| **性色生活片久久毛片| 精品国产一区二区三区四区四| 91国产丝袜在线播放| 国产一区二区h| 免费看精品久久片| 亚洲综合激情另类小说区| 国产日本一区二区| 日韩欧美色综合网站| 日本高清不卡aⅴ免费网站| 国产精品综合在线视频| 日韩成人精品视频| 亚洲靠逼com| 国产精品丝袜黑色高跟| 精品国产一区久久| 9191国产精品| 欧美日韩午夜在线| 色天使久久综合网天天| 懂色av一区二区三区免费观看| 久久成人精品无人区| 日韩—二三区免费观看av| 亚洲一区二区视频在线| 亚洲少妇中出一区| **网站欧美大片在线观看| 国产精品乱人伦| 国产人伦精品一区二区| 久久午夜羞羞影院免费观看| 日韩免费成人网| 日韩免费一区二区| 欧美大片在线观看一区| 日韩三级高清在线| 日韩欧美一级二级三级久久久| 7777精品伊人久久久大香线蕉完整版 | 亚洲综合网站在线观看| 日韩美女精品在线| 亚洲伦理在线免费看| 亚洲精品欧美二区三区中文字幕| 中文字幕一区二区三区不卡在线| 国产精品精品国产色婷婷| 中文一区在线播放| 国产精品福利电影一区二区三区四区| 欧美国产精品中文字幕| 国产精品你懂的在线| 亚洲精品视频观看| 日韩精品一卡二卡三卡四卡无卡| 亚洲成人免费看| 美日韩黄色大片| 国产精一区二区三区| 成人美女在线视频| 色先锋资源久久综合| 欧美日韩成人综合| 欧美一区二区三区免费| 久久网站最新地址| 日本一区二区在线不卡| 中文字幕一区二区在线观看| 曰韩精品一区二区| 丝袜美腿一区二区三区| 黑人巨大精品欧美一区| 成人午夜免费av| 欧美性猛交xxxxxx富婆| 欧美一区二区三区啪啪| 国产亚洲一本大道中文在线| 中文字幕五月欧美| 五月天久久比比资源色| 国内精品视频666| 99re成人精品视频| 日韩一区二区精品葵司在线| 久久亚洲精华国产精华液| 自拍偷在线精品自拍偷无码专区| 亚洲影视在线观看| 精品一区二区三区免费播放| 成人av资源在线观看| 欧美三区在线观看| 久久一留热品黄| 亚洲黄色尤物视频| 国产在线精品一区二区夜色| 91麻豆国产精品久久| 日韩午夜中文字幕| 中文字幕一区三区| 久久精品国产99久久6| 91猫先生在线| 欧美变态tickling挠脚心| 亚洲美女在线一区| 久久www免费人成看片高清| 97久久人人超碰| 久久综合精品国产一区二区三区| 亚洲免费观看高清| 国产福利一区二区三区| 在线视频一区二区免费| 欧美电视剧免费观看| 国产精品久久久久久久久动漫 | 一区二区在线观看不卡| 国产在线视视频有精品| 色国产综合视频| 国产视频一区不卡| 日韩中文字幕av电影| 91同城在线观看| 国产日产欧美一区二区三区| 爽好多水快深点欧美视频| 国产91丝袜在线18| 欧美在线色视频| 日韩一区二区三区在线| 久久66热偷产精品| 欧美视频一区二区在线观看| 亚洲日本va在线观看| 7777精品伊人久久久大香线蕉| 成人教育av在线| 欧美剧情片在线观看| 一区二区免费在线| 99久久综合色| 欧美日韩dvd在线观看| 国产亚洲成aⅴ人片在线观看 | 国产精品视频一二三| 日韩av午夜在线观看| 欧美性猛交一区二区三区精品| 欧美国产日韩a欧美在线观看| 男男视频亚洲欧美| 欧美日韩黄视频| 亚洲一区二区综合| 欧美在线免费观看亚洲| 亚洲欧美视频在线观看视频| av中文字幕一区| 日本一区二区视频在线| 国产精品白丝jk黑袜喷水| 久久蜜臀中文字幕| 久久99国内精品| 欧美一区二区三区免费| 天堂一区二区在线| 91精品一区二区三区在线观看| 亚洲成人www| 这里只有精品99re| 蜜臀精品久久久久久蜜臀 | 色综合久久综合中文综合网| 中文字幕在线免费不卡| 色综合欧美在线| 亚洲午夜激情av| 91精品中文字幕一区二区三区| 日韩制服丝袜先锋影音| 日韩欧美一区二区在线视频| 久久国产生活片100| 欧美一卡二卡三卡四卡| 亚洲免费在线看| 一本色道综合亚洲| 午夜不卡av在线| 日韩欧美国产一区二区三区| 国产一区二区三区在线观看免费 | 国产精品丝袜久久久久久app| 99这里只有精品| 亚洲一区二区三区激情| 制服丝袜亚洲色图| 国产**成人网毛片九色 | 亚洲成人综合视频| 欧美一级高清片| 18涩涩午夜精品.www| 精品视频资源站| 91年精品国产| 五月婷婷激情综合|