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

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

?? usbci.c

?? zlg_usb協議棧是周立功公司開發的一款開放的usb源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			USBCI.c
** Last modified Date:	2007-07-09
** Last Version:		V1.0
** Descriptions:		LPC23xx USB 接口命令層
**						LPC23xx USB Interface command layer
**------------------------------------------------------------------------------------------------------
** Created by:			鄭明遠 		MingYuan Zheng
** Created date:		2007-07-09
** Version:				V1.0
** Descriptions:		初始版本	The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:			
** Modified date:
** Version:				
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by: 
** Modified date:
** Version:	
** Descriptions: 
**
********************************************************************************************************/

#include "config.h"
#include "USBConfig.h"
#include "USBCI.h"


		/********************************************************
		
			操作USB設備寄存器	operate USB device register
		
		*********************************************************/

/***************************************************************************************************************
** 函數名稱 : USB_ConfigEndpoint()						Name	 : USB_ConfigEndpoint()
** 功能描述 : 配置 USB 設備端點						    Function : Configurate the endpoint of the USB
** 輸	 入 : INT8U endp      :  物理端點號	  			Input	 : INT8U endp:  the physical endpoint number
			  INT8U packetsize:  該端點的最大包大小				   INT8U packetsize: the max packet size of the endpoint														   INT8U packetsize: the max packet size of the endpoint	
** 輸	 出 : 無										Output	 : NULL 
****************************************************************************************************************/
void USB_ConfigMaxPaketSize(INT8U endp, INT32U packetsize)
{
	/* or with the existing value of the register */
	USBReEp |= (INT32U)(0x01 << endp);								/* 與原來存在的寄存器值做或操作 */
	
	/* load endpoint index Reg with physical endpoint no. */
	USBEpInd = (INT32U)endp;										/* 選擇端點 */	
	
	/* load the max packet size Register */
	USBMaxPSize = (INT32U)packetsize;								/* 寫入端點最大包長度值 */	
	
	/* check whether the EP_RLSED bit is set */
	while((USBDevIntSt & EP_RLZEDINT) == 0);						/* 等待處理完成 */
	
	/* clear the EP_RLZED bit */
	USBDevIntClr = EP_RLZEDINT;										/* 清除中斷標志位 */	
}


		/*********************************************************
				
				協議引擎命令	Protocol Engine Command 
			
		**********************************************************/

/***************************************************************************************************************
** 函數名稱 : USB_GetData()								Name	 : USB_GetData()
** 功能描述 : 從USB命令數據寄存器中讀取數據			    Function : Read data from USB Command Data Register
** 輸	 入 : INT32U cmd : 命令		  					Input	 : INT32U cmd:  command word
** 輸	 出 : 讀到的一個字節							Output	 : the read byte 
****************************************************************************************************************/
INT8U USB_GetData(INT32U cmd)
{
	/* command */
	USBCmdCode = cmd;									/* 寫入命令字 */
	
	/* wait for CDFULL = 1 */
	while((USBDevIntSt & CDFULL) == 0);					/* 等待USBDevIntSt寄存器的CDFULL位置1*/
	
	/* clear the CDFULL bit */
	USBDevIntClr = CDFULL;								/* 清除CDFULL位 */

	/* get the received data */
	return USBCmdData;									/* 讀取數據 */
}


/***************************************************************************************************************
** 函數名稱 : USB_SendCmd()								Name	 : USB_SendCmd()
** 功能描述 : 向USB命令代碼寄存器寫入命令			    Function : write a command to Command Code Register
** 輸	 入 : INT32U cmd : 命令		  					Input	 : INT32U cmd : command
		   	  INT32U data: 數據 						  		   INT32U data: data 
** 輸	 出 : 無										Output	 : NULL
****************************************************************************************************************/
void USB_SendCmd(INT32U cmd, INT32U data)
{
	/* command */
	USBCmdCode = cmd;									/* 寫入命令字 */
	
	/* wait for CCEMPTY = 1 */
	while((USBDevIntSt & CCEMPTY) == 0);				/* 等待 USBDevIntSt 寄存器的 CCEMPTY 位置1 */
	
	/* clear the CCEMPTY bit */
	USBDevIntClr = CCEMPTY;								/* 清除 CCEMPTY 位*/
	
	if (data != 0)										/* 如果還有數據階段 */
	{
		/* command */
		USBCmdCode = data;								/* 將數據編碼寫入命令代碼寄存器 */
		
		/* wait for CCEMPTY = 1 */
		while((USBDevIntSt & CCEMPTY) == 0);			/* 等待 USBDevIntSt 寄存器的 CCEMPTY 位置1 */
	
		/* clear the CCEMPTY bit */
		USBDevIntClr = CCEMPTY;							/* 清除 CCEMPTY 位*/
	}	
}


	/****************************************************************
	
		LPC23xx USB控制器相關命令	Related	Command of LPC23xx USB
	
	*****************************************************************/

/***************************************************************************************************************
** 函數名稱 : USB_ReadTestRegister()					Name	 : USB_ReadTestRegister()
** 功能描述 : 讀測試寄存器				  			    Function : Read the Test Register of USB 
** 輸	 入 : 無							 			Input	 : NULL
** 輸	 出 : 測試寄存器的值							Output	 : the value of the Test Register
****************************************************************************************************************/
INT16U USB_ReadTestRegister(void)
{
	INT16U temp;

	USB_SendCmd(USBCMD_RDTEST_REG, 0);	

	temp = USB_GetData(USBDAT_RDTEST_REG);						/* read LSB byte */
	temp += (INT16U)USB_GetData(USBDAT_RDTEST_REG) << 8;		/* read MSB byte */
		
	return temp;
}	


/***************************************************************************************************************
** 函數名稱 : USB_SetAddressEnable()					Name	 : USB_SetAddressEnable()
** 功能描述 : 設置 USB 設備地址			  			    Function : set the USB device address 
** 輸	 入 : INT8U bAddress: 主機分配的地址值 			Input	 : INT8U bAddress:  the address value
		   	  INT8U bEnable:  1 - 使能USB設備 					   INT8U bEnable:  1: enable the USB device   
							  0 - 禁止USB設備                                      0: disable the device
** 輸	 出 : 無										Output	 : NULL
****************************************************************************************************************/
void USB_SetAddressEnable(INT8U bAddress, INT8U bEnable)
{
	if (bEnable)
		bAddress |= 0x80;	

	USB_SendCmd(USBCMD_SET_ADDRESS, ((INT32U)(bAddress << 16)) | USBDAT_SET_ADDRESS);
}	


/***************************************************************************************************************
** 函數名稱 : USB_SetEndpointEnable()					Name	 : USB_SetEndpointEnable()
** 功能描述 : 設置 USB 設備				  			    Function : Configure USB Device
** 輸	 入 : INT8U bEnble: 1 - 器件已配置				Input	 : INT8U bEnble: 1 - have finished configuring
		   	  				0 - 器件未配置         							     0 - have not configured
** 輸	 出 : 無										Output	 : NULL
****************************************************************************************************************/
void USB_SetEndpointEnable(INT8U bEnble)
{
	USB_SendCmd(USBCMD_CONFIG_DEV, ((INT32U)(bEnble << 16)) | USBDAT_CONFIG_DEV);
}


/***************************************************************************************************************
** 函數名稱 : USB_SetMode()								Name	 : USB_SetMode()
** 功能描述 : 設置模式					  			    Function : Set Mode
** 輸	 入 : INT8U value: 模式值						Input	 : INT8U value: the mode value
** 輸	 出 : 無										Output	 : NULL
****************************************************************************************************************/
void USB_SetMode(INT8U value)
{
	USB_SendCmd(USBCMD_SET_MODE, ((INT32U)(value << 16)) | USBDAT_SET_MODE);
}


/***************************************************************************************************************
** 函數名稱 : USB_SetDevStatus()						Name	 : USB_SetDevStatus()
** 功能描述 : 設置設備狀態				  			    Function : Set Device Status
** 輸	 入 : INT8U value: 狀態值						Input	 : INT8U value: the Device Status
** 輸	 出 : 無										Output	 : NULL
****************************************************************************************************************/
void USB_SetDevStatus(INT8U value)
{
	USB_SendCmd(USBCMD_SET_DEVSTATUS, ((INT32U)(value << 16)) | USBDAT_SET_DEVSTATUS);
}


/***************************************************************************************************************
** 函數名稱 : USB_GetDevStatus()						Name	 : USB_GetDevStatus()
** 功能描述 : 獲取設備狀態				  			    Function : Get Device Status
** 輸	 入 : NULL										Input	 : NULL
** 輸	 出 : USB 設備狀態字節							Output	 : the USB device status byte
****************************************************************************************************************/
INT8U USB_GetDevStatus(void)
{
	USB_SendCmd(USBCMD_GET_DEVSTATUS, 0);
	
	return USB_GetData(USBDAT_GET_DEVSTATUS);
}


/***************************************************************************************************************
** 函數名稱 : USB_SelectEndpoint()						Name	 : USB_SelectEndpoint()
** 功能描述 : 選擇端點,并獲取端點信息	  			    Function : select the endpoint, and get the endpoint information
** 輸	 入 : INT8U endp: 物理端點號					Input	 : INT8U endp: the physical endpoint number
** 輸	 出 : 對應端點的信息							Output	 : the endpoint information
****************************************************************************************************************/
INT8U USB_SelectEndpoint(INT8U endp)
{
	INT32U tmp = (INT32U)(endp << 16);

	USB_SendCmd(tmp | USBCMD_SEL_ENDP, 0);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩国产精品大片| 91麻豆免费视频| 国产+成+人+亚洲欧洲自线| 欧美日韩国产另类不卡| 国产一区二区毛片| 色94色欧美sute亚洲线路一ni | 亚洲欧美日韩在线| 麻豆成人av在线| 在线欧美小视频| 日本一区二区三级电影在线观看| 亚洲成在人线在线播放| av中文字幕不卡| 久久久九九九九| 丝袜美腿成人在线| 在线看不卡av| 中文字幕日韩av资源站| 国产综合成人久久大片91| 欧美美女喷水视频| 亚洲欧美经典视频| av网站免费线看精品| 2020国产精品久久精品美国| 亚洲国产欧美在线人成| 91网页版在线| 国产日韩欧美制服另类| 国产一区二区精品久久99| 在线播放91灌醉迷j高跟美女| 亚洲精品中文字幕乱码三区 | 秋霞影院一区二区| 91国产免费看| 一区二区三区欧美在线观看| 91色在线porny| 亚洲欧美激情视频在线观看一区二区三区| 在线亚洲免费视频| 日韩在线卡一卡二| 色婷婷av一区| 亚洲免费观看高清完整版在线观看| 国产在线精品视频| 亚洲精品一区二区三区影院| 久久99在线观看| 亚洲精品一区二区三区香蕉| 国产一区二区免费看| 久久久国际精品| 不卡的电影网站| 亚洲乱码国产乱码精品精的特点| 91黄色免费看| 肉色丝袜一区二区| 精品乱人伦小说| 国产不卡视频在线播放| 国产精品久久久久精k8 | 亚洲一区免费观看| 欧美三级三级三级| 日本人妖一区二区| 国产亚洲精品bt天堂精选| 高清免费成人av| 亚洲精品写真福利| 欧美一区二区三区四区五区 | 成人在线视频一区二区| 综合中文字幕亚洲| 欧美猛男超大videosgay| 麻豆国产欧美日韩综合精品二区| 欧美一级一区二区| 国产成人自拍网| 亚洲综合色自拍一区| 欧美一区二区大片| 成人av午夜影院| 亚洲图片欧美视频| 日韩免费高清av| www.亚洲精品| 视频一区二区中文字幕| 久久久久国产精品人| 一本大道久久精品懂色aⅴ| 日韩精品电影一区亚洲| 日本一区二区三区视频视频| 欧美日韩在线综合| 国产成人av电影在线| 亚洲h在线观看| 国产日韩精品久久久| 欧美蜜桃一区二区三区| 国产成人精品在线看| 亚洲123区在线观看| 久久精品一区二区三区不卡牛牛 | 成人免费视频国产在线观看| 亚洲午夜久久久久中文字幕久| 久久影院午夜论| 欧美日韩一级片网站| 顶级嫩模精品视频在线看| 首页国产欧美日韩丝袜| 亚洲人成亚洲人成在线观看图片| 欧美不卡123| 欧美日韩高清一区二区不卡| www.欧美色图| 国产在线视频一区二区三区| 三级久久三级久久| 一区二区三区不卡在线观看| 亚洲国产精品国自产拍av| 欧美一区二区三区免费观看视频 | 国产成人av一区二区三区在线| 亚洲福利视频三区| 亚洲欧洲制服丝袜| 中文字幕的久久| 国产亚洲人成网站| 精品国产乱码久久久久久久| 欧美一级二级在线观看| 欧美日韩久久久久久| 欧美图区在线视频| 色播五月激情综合网| 国产精品99久久久久久有的能看| 日韩电影在线免费观看| 亚洲18影院在线观看| 亚洲高清免费在线| 亚洲一区二区三区四区五区黄| 亚洲三级久久久| 亚洲精品国产一区二区三区四区在线| 国产午夜精品一区二区三区视频 | 国产精品国产三级国产aⅴ中文| 久久久亚洲精品石原莉奈| 精品日韩欧美一区二区| 日韩欧美高清dvd碟片| 91精品在线麻豆| 91精品国产高清一区二区三区蜜臀| 欧美日韩一区成人| 在线电影国产精品| 日韩一区二区电影网| 精品少妇一区二区三区在线播放| 日韩女优视频免费观看| 精品精品国产高清a毛片牛牛| 亚洲精品一区二区精华| 精品88久久久久88久久久| 精品欧美乱码久久久久久| 精品欧美久久久| 欧美国产一区在线| 亚洲免费观看视频| 五月综合激情网| 秋霞影院一区二区| 国产成人在线免费观看| 国产91对白在线观看九色| 色综合久久久久综合体桃花网| 日本道精品一区二区三区 | 3d动漫精品啪啪1区2区免费| 91精品国产免费久久综合| 日韩精品在线一区| 国产精品你懂的在线欣赏| 一区二区三区**美女毛片| 日韩av电影天堂| 国产成人精品亚洲午夜麻豆| 在线看日韩精品电影| 日韩欧美在线网站| 中文字幕第一区综合| 亚洲成人激情自拍| 国产一区二区中文字幕| 色综合久久中文字幕综合网| 91精品欧美福利在线观看| 日本一区二区电影| 视频一区视频二区中文| 国产91精品在线观看| 精品视频一区三区九区| 久久综合久久久久88| 一区二区三区**美女毛片| 韩国av一区二区三区| 色哟哟在线观看一区二区三区| 欧美一区二区三级| 亚洲九九爱视频| 国产中文字幕一区| 欧美在线制服丝袜| 国产精品美女久久久久久久| 一区二区三区在线视频播放| 国产一区二区三区美女| 欧美性受极品xxxx喷水| 国产欧美中文在线| 日韩激情一区二区| 色一情一乱一乱一91av| 久久久天堂av| 蜜桃一区二区三区在线| 色婷婷av一区二区| 国产日韩欧美高清在线| 免费在线观看一区| 91福利在线看| 国产精品白丝在线| 国产二区国产一区在线观看| 日韩午夜在线观看视频| 亚洲高清在线精品| 色狠狠一区二区| 1000精品久久久久久久久| 国产剧情在线观看一区二区| 日韩亚洲国产中文字幕欧美| 亚洲一区二区在线免费观看视频| a在线播放不卡| 久久久久亚洲综合| 九九精品一区二区| 日韩欧美国产电影| 日本欧美韩国一区三区| 欧美日韩小视频| 一区二区三区成人在线视频| 99热这里都是精品| 久久蜜臀精品av| 国产精品系列在线播放| 国产欧美一区二区精品性| 国内精品在线播放| 久久精品一区八戒影视| 激情综合五月天|