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

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

?? isr.c

?? 里面是D12與c51的接口程序
?? C
字號:

#include <stdio.h>
#include <string.h>

#include <reg52.h>                


//#include "myusb100.h"
#include "hard.h"
#include "D12.h"
#include "main.h"
#include "USB.h"

extern void bus_reset(void);

extern void ep0_txdone(void);
extern void ep0_rxdone(void);

extern void ep1_txdone(void);
extern void ep1_rxdone(void);

extern void main_txdone(void);
extern void main_rxdone(void);

extern void dma_eot(void);

/*
//*************************************************************************
//  Public static data
//*************************************************************************
*/

EPPFLAGS bEPPflags;

/* Control endpoint TX/RX buffers */
extern CONTROL_XFER ControlData;

/* ISR static vars */
unsigned char idata GenEpBuf[EP1_PACKET_SIZE];

IO_REQUEST idata ioRequest;

unsigned long ClockTicks = 0;

int iEp1InLength = 0;

/*void timer_isr() interrupt 1
{
	DISABLE;
	ClockTicks++;
	bEPPflags.bits.timer = 1;
	ENABLE;
}*/
/*void usb_isr() interrupt 0 
{
	DISABLE;
	fn_usb_isr();
	ENABLE;
}
 */
 /*
void serial(void) interrupt 4 
{
	if(RI)
	{	DISABLE;
		RI=0;
		fa=SBUF;
		while(TI==0);
		TI=0;
	}
	
	return;	
}*/
void fn_usb_isr()
{
	unsigned int i_st;

	bEPPflags.bits.in_isr = 1;

	i_st = D12_ReadInterruptRegister();

	if(i_st != 0) 
		{
			if(i_st & D12_INT_BUSRESET) 
				{
					bus_reset();
					bEPPflags.bits.bus_reset = 1;
				}
			else 
				{
					if(i_st & D12_INT_EOT)
						dma_eot();
		
					if(i_st & D12_INT_SUSPENDCHANGE)
						bEPPflags.bits.suspend = 1;
		
					if(i_st & D12_INT_ENDP0IN)
						ep0_txdone();
					if(i_st & D12_INT_ENDP0OUT)
						ep0_rxdone();
					if(i_st & D12_INT_ENDP1IN)
						ep1_txdone();
					if(i_st & D12_INT_ENDP1OUT)
						ep1_rxdone();
					if(i_st & D12_INT_ENDP2IN)
						main_txdone();
					if(i_st & D12_INT_ENDP2OUT)
						main_rxdone();
				}
		}

	bEPPflags.bits.in_isr = 0;
}

void bus_reset(void)
{
}
//端點0 OUT中斷
void ep0_rxdone(void)
{
	unsigned char ep_last, i;

	ep_last = D12_ReadLastTransactionStatus(0); // Clear interrupt flag

	if (ep_last & D12_SETUPPACKET) 
		{

			ControlData.wLength = 0;
			ControlData.wCount = 0;
	
			if( D12_ReadEndpoint(0, (unsigned char *)(&(ControlData.DeviceRequest)),
				sizeof(ControlData.DeviceRequest)) != sizeof(DEVICE_REQUEST) ) 
				{
	
					D12_SetEndpointStatus(0, 1);
					D12_SetEndpointStatus(1, 1);
					bEPPflags.bits.control_state = USB_IDLE;
					
					return;
				}
			//數據字節交換
			ControlData.DeviceRequest.wValue = SWAP(ControlData.DeviceRequest.wValue);
			ControlData.DeviceRequest.wIndex = SWAP(ControlData.DeviceRequest.wIndex);
			ControlData.DeviceRequest.wLength = SWAP(ControlData.DeviceRequest.wLength);
	
	
			// 對控制端點的輸入輸出進行應答
			D12_AcknowledgeEndpoint(0);
			D12_AcknowledgeEndpoint(1);
	
			ControlData.wLength = ControlData.DeviceRequest.wLength;
			ControlData.wCount = 0;
	
			if (ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) 
				{
					//從主機傳輸數據
					bEPPflags.bits.setup_packet = 1;
					bEPPflags.bits.control_state = USB_IDLE;		/* get command */
				}
			else 
				{
					if (ControlData.DeviceRequest.wLength == 0) 
						{
							bEPPflags.bits.setup_packet = 1;
							bEPPflags.bits.control_state = USB_IDLE;		/* set command */
						}
					else 
						{
							if(ControlData.DeviceRequest.wLength > MAX_CONTROLDATA_SIZE) 
								{
									bEPPflags.bits.control_state = USB_IDLE;
									D12_SetEndpointStatus(0, 1);
									D12_SetEndpointStatus(1, 1);
								}
							else 
								{
									bEPPflags.bits.control_state = USB_RECEIVE;	/* set command with OUT token */
								}
						} // set command with data
				} // else set command
			} // if setup packet

	else if (bEPPflags.bits.control_state == USB_RECEIVE) 
		{
			i =	D12_ReadEndpoint(0, ControlData.dataBuffer + ControlData.wCount,
				EP0_PACKET_SIZE);
	
			ControlData.wCount += i;
			if( i != EP0_PACKET_SIZE || ControlData.wCount >= ControlData.wLength) 
				{
					bEPPflags.bits.setup_packet = 1;
					bEPPflags.bits.control_state = USB_IDLE;
				}
		}

	else 
		{	
			bEPPflags.bits.control_state = USB_IDLE;
		}
}
//端點0 IN處理
void ep0_txdone(void)
{
	short i = ControlData.wLength - ControlData.wCount;

	D12_ReadLastTransactionStatus(1); // Clear interrupt flag

	if (bEPPflags.bits.control_state != USB_TRANSMIT) 
		return;

	if( i >= EP0_PACKET_SIZE) 
		{
			D12_WriteEndpoint(1, ControlData.pData + ControlData.wCount, EP0_PACKET_SIZE);
			ControlData.wCount += EP0_PACKET_SIZE;
	
			bEPPflags.bits.control_state = USB_TRANSMIT;
		}
	else if( i != 0) 
		{
			D12_WriteEndpoint(1, ControlData.pData + ControlData.wCount, i);
			ControlData.wCount += i;
	
			bEPPflags.bits.control_state = USB_IDLE;
		}
	else if (i == 0)
		{
			D12_WriteEndpoint(1, 0, 0); // Send zero packet at the end ???
	
			bEPPflags.bits.control_state = USB_IDLE;
		}
}
//DMA結束處理
void dma_eot(void)
{
	if(bEPPflags.bits.dma_state == DMA_PENDING)
		bEPPflags.bits.setup_dma = 1;
	else
		bEPPflags.bits.dma_state = DMA_IDLE;
}
//端點1 IN處理
void ep1_txdone(void)
{
	D12_ReadLastTransactionStatus(3); /* Clear interrupt flag */
}
//端點1	OUT處理
void ep1_rxdone(void)
{
	unsigned char len;

	D12_ReadLastTransactionStatus(2); /* Clear interrupt flag */

	len = D12_ReadEndpoint(2, GenEpBuf, sizeof(GenEpBuf));

	iEp1InLength = len;

	if(len != 0)
		bEPPflags.bits.ep1_rxdone = 1;
}
//主端點IN控制
void main_txdone(void)
{
	D12_ReadLastTransactionStatus(5); /* Clear interrupt flag */
}
//主端點OUT控制
void main_rxdone(void)
{
	D12_ReadLastTransactionStatus(4); /* Clear interrupt flag */
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品成人少妇| 亚洲视频一二三区| 国产成人在线视频播放| 蜜臀av性久久久久蜜臀aⅴ | 视频一区二区国产| 一二三四区精品视频| 国产一区在线观看麻豆| 久久电影网站中文字幕| 精品一区二区三区在线播放视频| 日韩国产在线一| 青青草国产成人av片免费| 秋霞午夜av一区二区三区| 天天综合色天天综合色h| 免费欧美日韩国产三级电影| 久久99久久久欧美国产| 国产精品夜夜爽| www.99精品| 欧美日韩美少妇| 日韩久久久精品| 国产午夜精品一区二区三区四区| 国产亚洲欧美一区在线观看| 中文字幕在线一区免费| 国产精品 日产精品 欧美精品| 成人综合日日夜夜| 91视频免费播放| 欧美一区二区三区在| 欧美成va人片在线观看| 国产精品美日韩| 亚洲永久精品国产| 久久99精品视频| av在线免费不卡| 日韩一区二区三区高清免费看看| 久久综合久久鬼色中文字| 亚洲色图19p| 久久成人免费网站| 一本高清dvd不卡在线观看| 欧美一区二区性放荡片| 国产精品久久久久一区| 91亚洲精品久久久蜜桃网站| 欧美日韩久久久久久| 国产日韩av一区| 午夜视频一区二区| 成人精品一区二区三区四区 | 美女任你摸久久| 成人综合在线网站| 91精品一区二区三区在线观看| 国产精品污污网站在线观看| 日本怡春院一区二区| 成人中文字幕在线| 3atv一区二区三区| 夜夜亚洲天天久久| 成人av在线一区二区| 精品国偷自产国产一区| 蜜臀av一区二区在线免费观看| 久久国产婷婷国产香蕉| 91美女蜜桃在线| 日韩精品一区二区三区中文不卡| 亚洲视频综合在线| 国产精品自拍av| 91麻豆精品国产91久久久更新时间 | 成人一区二区三区在线观看| 欧美三级三级三级爽爽爽| 中文字幕国产精品一区二区| 秋霞午夜鲁丝一区二区老狼| 欧美三级韩国三级日本三斤| 日本美女一区二区三区| 色美美综合视频| 一区二区视频在线看| 国产剧情一区二区| 久久综合狠狠综合久久综合88| 亚洲韩国精品一区| 欧美在线影院一区二区| 亚洲美女视频在线观看| 91在线观看免费视频| 国产精品久久久久天堂| 国产精品一区二区视频| 欧美刺激午夜性久久久久久久| 日本午夜精品一区二区三区电影| 欧美在线制服丝袜| 亚洲 欧美综合在线网络| 精品视频全国免费看| 天天亚洲美女在线视频| 欧美一区午夜视频在线观看| 色综合久久久久| 亚洲精品欧美专区| 欧美中文字幕一区| 奇米精品一区二区三区在线观看 | 欧美本精品男人aⅴ天堂| 麻豆极品一区二区三区| 久久综合九色综合97_久久久| 国产精品资源在线观看| 亚洲欧美另类久久久精品 | 日韩欧美国产电影| 黑人巨大精品欧美一区| 中文字幕av一区二区三区| 91麻豆精品在线观看| 亚洲国产cao| 欧美成人三级电影在线| 在线不卡中文字幕| 美国十次综合导航| 久久久五月婷婷| 色哟哟一区二区在线观看| 亚洲bt欧美bt精品| 久久午夜免费电影| 色哟哟欧美精品| 激情av综合网| 一区二区三区中文字幕电影 | 日韩一区二区三区电影| 国产精品自在欧美一区| 亚洲综合精品久久| 亚洲精品在线观看网站| 色美美综合视频| 精品一区二区精品| 亚洲精品综合在线| 亚洲高清免费在线| 国产午夜精品久久久久久免费视 | 日韩欧美黄色影院| 91老师国产黑色丝袜在线| 日本午夜精品一区二区三区电影 | 在线看国产一区二区| 蜜桃精品在线观看| 亚洲六月丁香色婷婷综合久久| 欧美不卡激情三级在线观看| 日本高清不卡在线观看| 国产福利电影一区二区三区| 图片区小说区国产精品视频| 国产精品第一页第二页第三页| 日韩一区二区三区观看| 欧美日韩www| 色综合天天综合网国产成人综合天| 麻豆国产精品官网| 久久99精品一区二区三区三区| 亚洲一区中文在线| 亚洲老妇xxxxxx| 国产精品无遮挡| 国产午夜三级一区二区三| 欧美成人精品福利| 欧美一级精品在线| 在线视频欧美精品| 日本韩国一区二区三区视频| 成人av在线观| 懂色av中文一区二区三区| 国产美女视频一区| 国内精品自线一区二区三区视频| 日日欢夜夜爽一区| 午夜不卡在线视频| 亚洲一区二区三区免费视频| 伊人色综合久久天天人手人婷| 亚洲视频一区在线| 亚洲精品成人少妇| 亚洲综合成人在线| 亚洲国产婷婷综合在线精品| 亚洲精品免费在线观看| 综合久久久久久| 一区二区在线观看视频在线观看| 综合久久给合久久狠狠狠97色 | 亚洲精品久久7777| 中文字幕一区二区三区四区不卡| 中文字幕电影一区| 自拍偷拍亚洲激情| 一区二区三区成人在线视频| 亚洲午夜精品网| 日韩国产精品久久| 激情综合色播激情啊| 国产成人午夜电影网| 成人理论电影网| 91小视频免费观看| 欧美日韩黄视频| 日韩欧美久久久| 欧美国产亚洲另类动漫| 国产精品护士白丝一区av| 一区二区三区国产豹纹内裤在线| 亚洲v中文字幕| 国产精品一二三四五| 99久久久国产精品| 中文字幕一区二区日韩精品绯色| 国产精品电影一区二区三区| 夜夜精品浪潮av一区二区三区| 天堂蜜桃一区二区三区| 国产一区二区看久久| 91一区二区三区在线观看| 91麻豆精品国产自产在线| 久久精品视频免费| 一区二区视频免费在线观看| 九九精品一区二区| 色综合久久88色综合天天6| 日韩一级完整毛片| 国产精品系列在线| 免费观看成人鲁鲁鲁鲁鲁视频| 岛国精品在线观看| 欧美一区二区久久| 亚洲色图在线视频| 久久99久久久久久久久久久| 91浏览器在线视频| 久久久久久免费| 视频一区国产视频| 99re这里只有精品首页| 精品免费视频.| 99久久99久久免费精品蜜臀| 7777精品伊人久久久大香线蕉完整版 |