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

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

?? main.c

?? D12實現的USB
?? C
字號:
/****************************************Copyright (c)**************************************************
**                               廣州周立功單片機發展有限公司
**                                     研    究    所
**                                        產品一部 
**
**                                 http://www.zlgmcu.com
**
** 文   件   名: main.c
** 最后修改日期: 2004年11月15日
** 描        述: 用戶應用程序
** 版	     本: V5.0
**********************************************************************************************************/

#include <reg52.h>
#include "D12Config.h"
#include "D12CI.h"
#include "D12HAL.h"
#include "Descriptor.h"
#include "Chap_9.h"
#include "D12Driver.h"
#include "string.h"


/***********************************************************
			主函數			Main Function
************************************************************/

#define CMD_RECEIVE		0x01			/* 接收命令 */
#define CMD_TRANSMIT	0x02			/* 發送命令 */
#define CMD_STOP		0x03			/* 停止命令 */
#define BUFFER_IN_XDATA					/* 定義數據緩沖區在外部ram */

#ifdef  BUFFER_IN_XDATA
INT8U xdata RecBuf[1024];				/* 緩沖區 */	
#endif

#ifdef  BUFFER_IN_IDATA 
INT8U idata RecBuf[128];				/* 緩沖區 */
#endif	

INT8U idata EP2_tx;						/* 端點2發送中斷標志 */
INT8U idata Rcv128Bytes;				/* 端點收到128字節標志位 */
INT8U idata TxEnable;					/* 發送使能 */
INT8U ack;								/* 應答 */
INT8U command,i,k;
INT8U num_Of_64len;                     /* 長度為64字節的包數 */
INT8U num_of_less64len;					/* 長度小于64字節的包長度 */
INT16 offset;							/* 偏移量 */  

extern INT8U D12_WriteEndpoint(INT8U endp, INT8U len, INT8U * buf);	
void CmdServe(void);
void RxServe(void);
void TxServe(void);
sfr  AUXR = 0x8E;			 			/* 只用于TKS668 仿真器 */
sbit led0 = P1^2;
sbit led1 = P1^3;

/****************************************************************************
** 函數名稱: void Init_Interrupt(void)
** 功能描述: 初始化MCU相關中斷
*****************************************************************************/
void Init_Interrupt(void)
{
	EX0 = 1;							/* 開外部中斷0 */
	PX0 = 0;							/* 設置外部中斷0中斷優先級 */
	EA = 1;								/* 開80C51總中斷 */

	AUXR = 0;							/* 使能668芯片內部xdata */
}

/****************************************************************************
** 函數名稱: main()
** 功能描述: 主函數
*****************************************************************************/
main()
{	
	if (Init_D12()!=0)								/* 初始化D12 */
 		return;										/* 如果初始化不成功,返回 */

	Init_Interrupt();								/* 初始化D12以后,才能使能相關中斷 */

	/* user code */
	TxEnable = 1; 	
		
	while(1)
	{
		usbserve();									/* 處理USB事件 */		
						 								
		if (bEPPflags.bits.ep1_rxdone == 1)			/* 端點一接收到命令處理*/
		{
			DISABLE();
			CmdServe();			
			bEPPflags.bits.ep1_rxdone = 0;			/* 清空端點2收到數據標志 */			
			ENABLE();
		}			 

		if (bEPPflags.bits.ep2_rxdone == 1)					
		{	
			DISABLE();								/* 從端點2收到數據 */
			RxServe();								/* 數據處理 */			
			bEPPflags.bits.ep2_rxdone = 0;			/* 清空端點2收到數據標志 */						
			ENABLE();
		}

		if ((EP2_tx == 1)&&TxEnable)					
		{	
			DISABLE();								/* 從端點2發送數據 */	
			EP2_tx = 0;								/* 清空端點2發送數據標志 */					
			TxServe();								/* 數據處理 */				
			ENABLE();
		}

		/* Add your code here */


	}

}
/****************************************************************************
** 函數名稱: void CmdServe(void)
** 功能描述: 執行上位機命令
*****************************************************************************/
void CmdServe(void)
{
	INT16U len;
		
 	command = GenEpBuf[0];											 // 命令字
	 
	if(command == CMD_STOP)
	{
		offset  = 0;
		num_Of_64len = 0;
		num_of_less64len = 0;  		
		return;
	}
	else 
	{
		offset = (INT16U)(GenEpBuf[1] << 8) + GenEpBuf[2];			// 接收/發送 緩沖區地址		 		
		len =(INT16U)(GenEpBuf[3] << 8) + GenEpBuf[4];
		num_Of_64len = len / EP2_RX_FIFO_SIZE;				   		// 計算64字節整數包數目	
		num_of_less64len = len % EP2_RX_FIFO_SIZE; 					// 計算剩余字節數  						
																    
		if ((command == CMD_TRANSMIT)&&TxEnable)					// 填充FIFO 
			TxServe();
	} 		
	
}
/****************************************************************************
** 函數名稱: void TxServe(void)
** 功能描述: 發送數據到PC機
*****************************************************************************/
void TxServe(void)
{		
	if(command == CMD_TRANSMIT)
	{	
		if(num_Of_64len!=0)												 // 發送64字節的整數包
		{
			DISABLE();
			D12_WriteEndpoint(5,EP2_TX_FIFO_SIZE,RecBuf + offset);		 // 寫發送緩沖區
			ENABLE();
			offset += EP2_TX_FIFO_SIZE;	
			num_Of_64len --;
		}		
				  
		else if(num_of_less64len!=0)
		{
			DISABLE();
			D12_WriteEndpoint(5,num_of_less64len,RecBuf + offset);	
			ENABLE();
			num_of_less64len = 0;
		}	
	}
}
/****************************************************************************
** 函數名稱: void RxServe(void)
** 功能描述: 指示接收狀態,發送應答字。
*****************************************************************************/
void RxServe(void)
{	
	if(command == CMD_RECEIVE)
	{		  					
		if (Rcv128Bytes == 1)			  						 		// 如果雙緩沖區中收到數據
		    led0 = 0;			  
		else															// 只有一個緩沖區中收到數據
			led1 ^=	1;
	
		if ((num_Of_64len==0)&&(num_of_less64len==0))
		{
			ack = 0x01;
			DISABLE();
			D12_WriteEndpoint(3,1,&ack);								// 應答PC機:我已收到你發來的數據!		
			ENABLE();
			offset = 0;
			led0 = 1;
			led1 = 1;
		} 
	}	  
}

																							

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合久久一区二区三区| 亚洲欧美日韩精品久久久久| 色激情天天射综合网| 美美哒免费高清在线观看视频一区二区| 久久一二三国产| 欧美日本免费一区二区三区| www.亚洲精品| 黄页网站大全一区二区| 亚洲成人7777| 亚洲国产一区二区a毛片| 日本一区二区免费在线观看视频 | 欧美日韩五月天| 成人av午夜电影| 国产一区二区免费看| 日韩精品电影一区亚洲| 一卡二卡三卡日韩欧美| 亚洲少妇30p| 国产精品美女久久久久久| 精品国产凹凸成av人网站| 欧美一区三区四区| 欧美三级电影网站| 一本大道久久a久久精二百| 岛国av在线一区| 国产精品888| 国产一区二区在线看| 青青草国产成人av片免费| 亚洲国产视频一区| 亚洲伊人伊色伊影伊综合网| 亚洲欧洲中文日韩久久av乱码| 国产精品日日摸夜夜摸av| 国产日韩精品一区二区三区在线| 欧美精品一区二区不卡| 久久亚洲影视婷婷| 日韩精品一区二区三区在线| 日韩免费视频线观看| 日韩精品一区国产麻豆| 精品毛片乱码1区2区3区| 精品国产乱码久久久久久久久 | 日韩视频一区二区在线观看| 91超碰这里只有精品国产| 在线观看日韩国产| 在线观看欧美精品| 欧美美女bb生活片| 91精品中文字幕一区二区三区| 制服丝袜在线91| 日韩欧美第一区| 国产色一区二区| 亚洲欧洲国产日韩| 亚洲一区二区三区在线看| 石原莉奈在线亚洲三区| 奇米四色…亚洲| 国产毛片精品国产一区二区三区| 国产麻豆91精品| 不卡的av电影| 在线观看亚洲专区| 日韩一区二区三区电影| 久久免费午夜影院| 日韩一区中文字幕| 亚洲国产精品久久久男人的天堂| 日韩国产精品大片| 国产在线不卡视频| 色综合网色综合| 欧美一区二区三区在线看| 久久久国际精品| 亚洲美女在线国产| 日本欧美一区二区在线观看| 国产成人综合精品三级| 91女人视频在线观看| 欧美一区二区三区在| 国产精品蜜臀在线观看| 午夜在线电影亚洲一区| 国内成+人亚洲+欧美+综合在线| 国产不卡在线播放| 欧美日韩国产一级| 久久久久久一级片| 亚洲一区二区视频在线| 国产在线日韩欧美| 欧洲精品一区二区三区在线观看| 日韩免费看网站| 亚洲色欲色欲www| 麻豆国产精品视频| 91同城在线观看| 日韩视频在线永久播放| 亚洲婷婷在线视频| 韩国精品免费视频| 欧美午夜精品一区| 国产女人aaa级久久久级| 日韩中文字幕区一区有砖一区| 成人午夜免费视频| 欧美丰满少妇xxxbbb| 亚洲天堂2016| 黄网站免费久久| 欧美浪妇xxxx高跟鞋交| 国产精品久久久久久亚洲毛片 | 一区二区三区四区在线| 精品一区二区三区视频在线观看 | 色综合久久久久综合| 精品国产乱码久久久久久图片| 亚洲最快最全在线视频| 成人免费视频网站在线观看| 日韩三级视频在线观看| 一区二区三区精密机械公司| 国产成人免费xxxxxxxx| 日韩丝袜美女视频| 五月婷婷综合激情| 日本高清不卡视频| 国产精品久久久久久久久晋中 | 亚洲免费观看高清在线观看| 国产毛片精品国产一区二区三区| 欧美狂野另类xxxxoooo| 亚洲一二三四久久| 91在线高清观看| 国产精品入口麻豆原神| 国产福利电影一区二区三区| 精品日韩成人av| 久久精品国产亚洲一区二区三区| 欧美日韩一级二级三级| 亚洲六月丁香色婷婷综合久久| 国产精品88888| 国产亚洲短视频| 国产精品一区二区在线看| 日韩免费高清av| 久久精品99国产精品| 日韩一二三四区| 麻豆精品一二三| 日韩欧美激情一区| 免费高清视频精品| 在线综合亚洲欧美在线视频| 日韩av二区在线播放| 欧美一区二区视频观看视频| 免费在线观看不卡| 日韩免费看的电影| 国产毛片一区二区| 亚洲国产精品高清| 成人av集中营| 亚洲女与黑人做爰| 色老汉一区二区三区| 亚洲第一搞黄网站| 91精品在线免费| 激情综合亚洲精品| 国产视频一区二区在线| www..com久久爱| 亚洲欧美日韩综合aⅴ视频| 在线观看亚洲一区| 日韩av网站免费在线| 2022国产精品视频| 国产成a人亚洲| 亚洲另类在线视频| 4438x成人网最大色成网站| 麻豆成人综合网| 久久精品视频网| 91伊人久久大香线蕉| 亚洲综合一区二区精品导航| 7777精品伊人久久久大香线蕉超级流畅| 日韩福利电影在线| 久久免费美女视频| 91丝袜国产在线播放| 污片在线观看一区二区| 欧美电影免费观看完整版| 国产成人在线免费| 亚洲自拍欧美精品| 欧美精品一区在线观看| 99久久99久久久精品齐齐| 亚洲高清不卡在线观看| 日韩精品一区二区三区蜜臀| 成人av在线看| 日日骚欧美日韩| 日本一区二区三区dvd视频在线 | 欧美—级在线免费片| 日本黄色一区二区| 精品系列免费在线观看| 国产精品青草久久| 欧美日韩大陆一区二区| 国产一区二区主播在线| 亚洲黄色免费网站| 日韩精品一区二区在线| 91麻豆国产精品久久| 精品在线观看视频| 亚洲精品久久嫩草网站秘色| 欧美一卡二卡三卡四卡| 99精品视频中文字幕| 久久99这里只有精品| 一区二区欧美视频| 久久精品亚洲国产奇米99| 欧美性生活一区| 国产精品1区2区| 青草av.久久免费一区| 亚洲人成伊人成综合网小说| 日韩精品一区二区三区视频| 一本色道久久综合亚洲91| 国产真实精品久久二三区| 亚洲一区二区三区三| 国产精品毛片高清在线完整版 | 精品免费日韩av| 欧美三级午夜理伦三级中视频| 国产风韵犹存在线视精品| 秋霞午夜鲁丝一区二区老狼| 亚洲综合免费观看高清完整版在线 | 国产一区二区三区四区五区入口| 亚洲国产cao|