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

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

?? usb2.c

?? 基于armjx44bo下的USB接口的程序.對應的實驗平臺是jx44b0x
?? C
字號:
#include "usb_inc.h"
#include "usb_dbg.h"
#include "usb_d12_ci.h"

/* General I/O port for USB control */
#define USB_RUN  (*((unsigned char*)0x8000000) = 0x00)    	//PORT_F.8 BIT SET 
#define USB_DIS  (*((unsigned char*)0x8000000) = 0xff)   	//PORT_F.8 BIT CLEAR

/* USB access control */
#define USB_DATA     (*(volatile unsigned char *)(0x6000000))
#define USB_COMMAND  (*(volatile unsigned char *)(0x6000001))

//初始化命令,地址和使能設置
void D12_SetAddressEnable(unsigned char bAddress, unsigned char bEnable)
{
	USB_COMMAND = 0xD0;
	if(bEnable)
	bAddress |= 0x80;
	USB_DATA = bAddress;
}
//初始化命令,端點使能設置
void D12_SetEndpointEnable(unsigned char bEnable)
{
	USB_COMMAND = 0xD8;
	if(bEnable)
	USB_DATA = 1;
	else
	USB_DATA = 0;
}
//初始化命令,模式設置
void D12_SetMode(unsigned char bConfig, unsigned char bClkDiv)
{
	USB_COMMAND = 0xF3;
	USB_DATA = bConfig;//設置配置寄存器
	USB_DATA = bClkDiv;//設置時鐘預除因子字節
}
//初始化命令,設置DMA
void D12_SetDMA(unsigned char bMode)
{
	USB_COMMAND = 0xFB;
	USB_DATA = bMode;
}
//數據流命令,讀兩字節的中斷寄存器
//返回值:中斷寄存器字節2    中斷寄存器字節1
unsigned short D12_ReadInterruptRegister(void)
{
	unsigned char b1;
	unsigned int j;

	USB_COMMAND = 0xF4;
	b1 = USB_DATA;//中斷寄存器字節1
	j = USB_DATA;//中斷寄存器字節2

	j <<= 8;
	j += b1;

	return j;
}
//數據流命令,選擇端點,返回1字節讀的數據
unsigned char D12_SelectEndpoint(unsigned char bEndp)
{
	unsigned char c;

	USB_COMMAND = bEndp;
	c = USB_DATA;
	return c;
}
//數據流命令,讀最后傳送的狀態,返回最后轉送的狀態
unsigned char D12_ReadLastTransactionStatus(unsigned char bEndp)
{
	USB_COMMAND = 0x40 + bEndp;
	return USB_DATA;
}
//數據流命令,讀端點狀態,返回讀出的字節
unsigned char D12_ReadEndpointStatus(unsigned char bEndp)
{
	unsigned char c;

	USB_COMMAND = 0x80 + bEndp;
	c = USB_DATA;

	return c;
}
//數據流命令,設置端點狀態
void D12_SetEndpointStatus(unsigned char bEndp, unsigned char bStalled)
{
	USB_COMMAND = 0x40 + bEndp;
	USB_DATA = bStalled;
}
//數據流命令,清除緩存區
void D12_ClearBuffer(void)
{
	USB_COMMAND = 0xF2;
}
//通用命令,發送重啟
void D12_SendResume(void)
{
	USB_COMMAND = 0xF6;
}
//通用命令,讀當前的幀數,返回幀數
unsigned short D12_ReadCurrentFrameNumber(void)
{
	unsigned short i,j;

	USB_COMMAND = 0xF5;
	i= USB_DATA;
	j = USB_DATA;

	i += (j<<8);

	return i;
}
//讀器件ID
unsigned short D12_ReadChipID(void)
{
	unsigned short i,j;

	USB_COMMAND = 0xFD;
	i=USB_DATA;
	j=USB_DATA;
	i += (j<<8);

	return i;
}
//數據流命令,讀端點數據len字節到buf中
unsigned char D12_ReadEndpoint(unsigned char endp, unsigned char * buf, unsigned char len)
{
	unsigned char i, j;

	USB_COMMAND = endp;
	if((USB_DATA & D12_FULLEMPTY) == 0) {//BUFFER空
		return 0;
	}
      //BUFFER滿,寫緩存區多個字節
	USB_COMMAND = 0xF0;
	j = USB_DATA;//保留,讀時為任意值
	j = USB_DATA;//數據字節的長度

	if(j > len)
		j = len;

	for(i=0; i<j; i++)
		*(buf+i) = USB_DATA;

	USB_COMMAND = 0xF2;//清除緩存區

	return j;
}

// D12_ReadMainEndpoint() added by V2.2 to support double-buffering.
// Caller should assume maxium 128 bytes of returned data.
unsigned char D12_ReadMainEndpoint(unsigned char * buf)
{
	unsigned char i, j, k = 0, bDblBuf = 1;

	USB_COMMAND = 0x84;//讀主端點
	if( (USB_DATA & 0x60) == 0x60)
		bDblBuf = 2;

	while(bDblBuf) {
		USB_COMMAND = 4;
		if((USB_DATA & D12_FULLEMPTY) == 0)
			break;

		USB_COMMAND = 0xF0;
		j = USB_DATA;
		j = USB_DATA;

		for(i=0; i<j; i++)
			*(buf+i+k) = USB_DATA;

		k += j;

		USB_COMMAND = 0xF2;

		bDblBuf --;
	}

	return k;
}

// D12_WriteEndpoint() added by V2.2 to support double-buffering.
// Caller should assume maxium 128 bytes of returned data.
unsigned char D12_WriteEndpoint(unsigned char endp, unsigned char * buf, unsigned char len)
{
	unsigned char i,null;
	
	USB_DbgPrint(("D12_WriteEndpoint : %04x\n",len));
	for( i = 0; i < len; i++)
	{
		USB_DbgPrint(("%02x ",*(buf+i)));
	}
	USB_DbgPrint(("\n"));
	
	USB_COMMAND = endp;
	null = USB_DATA;

	USB_COMMAND = 0xF0;
	USB_DATA = 0;
	USB_DATA = len;

	for(i=0; i<len; i++)

	USB_DATA = *(buf+i);

	USB_COMMAND = 0xFA;

	return len;
}
//應答設置,endp=0時清除選擇的緩存區
void D12_AcknowledgeEndpoint(unsigned char endp)
{
	USB_COMMAND = endp;
	USB_COMMAND = 0xF1;
	if(endp == 0)
		USB_COMMAND = 0xF2;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产97人人爽人人喊| 国产日本欧洲亚洲| 久久午夜羞羞影院免费观看| 国产精品灌醉下药二区| 日本中文在线一区| 成人h动漫精品| 日韩视频一区在线观看| 亚洲欧美一区二区三区国产精品 | 亚洲国产成人91porn| 国产电影一区二区三区| 欧美一区二区三区系列电影| 成人免费在线视频观看| 粉嫩蜜臀av国产精品网站| 精品少妇一区二区三区在线播放| 亚洲影院理伦片| 91老师片黄在线观看| 国产午夜三级一区二区三| 久久99深爱久久99精品| 91精品在线麻豆| 婷婷国产v国产偷v亚洲高清| 日本丰满少妇一区二区三区| 国产精品色呦呦| 粉嫩一区二区三区性色av| 久久久久九九视频| 国产在线麻豆精品观看| 日韩精品中文字幕在线不卡尤物| 首页国产欧美日韩丝袜| 欧美日韩一区久久| 亚洲成人动漫av| 欧美日韩日日摸| 五月天国产精品| 欧美夫妻性生活| 日本特黄久久久高潮| 91精品国产综合久久蜜臀| 亚洲成人动漫在线免费观看| 欧美精品日日鲁夜夜添| 青椒成人免费视频| 欧美成人一区二区| 国产精品一二三四| 国产女同互慰高潮91漫画| 成人在线综合网| 亚洲品质自拍视频| 欧美久久一二三四区| 日本亚洲视频在线| 久久久久一区二区三区四区| 国产成人啪免费观看软件 | 亚洲精选在线视频| 在线欧美日韩国产| 免费高清不卡av| 国产视频不卡一区| 色婷婷狠狠综合| 天天亚洲美女在线视频| 精品国产乱码91久久久久久网站| 国产成人精品免费一区二区| 成人免费视频在线观看| 欧美肥大bbwbbw高潮| 另类小说一区二区三区| 国产精品久久久久久久久免费相片 | 日韩vs国产vs欧美| 国产亚洲精品资源在线26u| 成人一区二区三区在线观看| 亚洲欧美日韩中文字幕一区二区三区| 在线亚洲免费视频| 国产尤物一区二区在线| 一区二区三区精品视频在线| 91精品国产福利在线观看| 国产传媒一区在线| 亚洲国产一区二区三区青草影视| 日韩精品一区二区三区老鸭窝| 国产超碰在线一区| 亚洲国产精品欧美一二99| 久久久久亚洲蜜桃| 欧美美女一区二区| 成人avav影音| 久久精品国产成人一区二区三区 | 欧美精品一区二区三区高清aⅴ | 2017欧美狠狠色| 色乱码一区二区三区88| 激情五月播播久久久精品| 一区二区三区在线影院| 久久中文娱乐网| 欧美精品亚洲一区二区在线播放| 国产成人综合网| 久久99精品久久久久久国产越南| 亚洲图片欧美激情| 久久日韩精品一区二区五区| 91久久精品一区二区| 成人中文字幕电影| 久久99久久99| 午夜精品123| 亚洲精品乱码久久久久久日本蜜臀| 欧美白人最猛性xxxxx69交| 在线观看视频欧美| 成人污视频在线观看| 麻豆一区二区三区| 图片区小说区国产精品视频| 国产精品家庭影院| 国产色一区二区| 欧美白人最猛性xxxxx69交| 91精品国产一区二区| 欧美三级三级三级爽爽爽| 成人av网站大全| 国产白丝网站精品污在线入口| 美女视频黄 久久| 日韩激情一二三区| 日韩高清一级片| 日精品一区二区| 日韩精品欧美精品| 日产国产欧美视频一区精品| 丝袜脚交一区二区| 日韩精品欧美精品| 免费在线看一区| 精品一区二区影视| 国内成+人亚洲+欧美+综合在线 | 亚洲午夜久久久久久久久电影院| 亚洲人成在线观看一区二区| 国产精品你懂的| 国产精品久久久久久亚洲伦 | 午夜精品福利久久久| 五月天视频一区| 麻豆精品视频在线观看| 精品一区二区三区香蕉蜜桃| 激情综合色播激情啊| 国产乱码精品一品二品| 成人免费不卡视频| 91在线观看地址| 在线看日韩精品电影| 日韩精品中文字幕在线不卡尤物| 日韩精品一区二区三区swag| 久久蜜桃av一区二区天堂| 国产欧美日本一区二区三区| 国产精品免费视频一区| 亚洲人成电影网站色mp4| 亚洲一区免费在线观看| 日韩电影在线观看电影| 国产一区二区三区免费在线观看| 国产精品一区久久久久| 91亚洲资源网| 91.xcao| 国产欧美日本一区视频| 亚洲尤物视频在线| 精品一区二区免费视频| 处破女av一区二区| 欧美精品乱码久久久久久按摩 | 欧美日韩亚洲综合一区 | 中文字幕在线一区| 性欧美大战久久久久久久久| 久久91精品国产91久久小草| 成人av片在线观看| 欧美二区乱c少妇| 国产女人水真多18毛片18精品视频| 一区二区三区精品在线| 老鸭窝一区二区久久精品| a级精品国产片在线观看| 欧美日韩国产综合草草| 国产亚洲精品超碰| 亚洲va欧美va天堂v国产综合| 国产一区二区三区在线观看免费| 91在线看国产| 精品免费国产二区三区| 亚洲免费观看高清完整版在线观看| 日韩av电影免费观看高清完整版 | 蜜桃av噜噜一区| 91尤物视频在线观看| 精品粉嫩超白一线天av| 亚洲免费观看视频| 高清不卡一区二区在线| 欧美一区二区在线视频| 亚洲日本成人在线观看| 国产一区二区三区在线观看精品 | 久久精品国产一区二区三 | 91免费观看国产| 久久蜜桃av一区精品变态类天堂| 图片区日韩欧美亚洲| 91浏览器在线视频| 国产精品视频免费看| 日本亚洲三级在线| 欧美丰满美乳xxx高潮www| 亚洲欧美一区二区三区国产精品| 国产精品911| 精品久久久久久久久久久久久久久久久| 一二三区精品福利视频| www.亚洲精品| 国产精品美女一区二区三区| 国精产品一区一区三区mba桃花| 欧美日韩夫妻久久| 夜夜嗨av一区二区三区中文字幕 | 日韩视频免费直播| 亚洲第四色夜色| 欧美三级电影网| 一区二区三区精品在线观看| 91丨九色丨国产丨porny| 中文字幕乱码一区二区免费| 国产一区二区剧情av在线| 日韩免费在线观看| 九九在线精品视频| 久久免费美女视频| 国产精品1024久久| 中文字幕免费观看一区| 99视频精品在线|