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

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

?? usb_isr.c

?? 使用FREESCALE的16位增強型芯片實現的USB2.0通信的代碼
?? C
字號:
/******************************************************************************
*                                                  
*  (c) copyright Freescale Semiconductor Hong Kong Ltd 2004
*  ALL RIGHTS RESERVED
*                                                                       
*******************************************************************************  
** THIS  CODE IS ONLY INTENDED AS AN EXAMPLE FOR DEMONSTRATING THE FREESCALE **
** MICROCONTROLLERS.  IT  HAS ONLY BEEN GIVEN A MIMIMUM LEVEL OF TEST. IT IS **
** PROVIDED  'AS  SEEN'  WITH  NO  GUARANTEES  AND  NO  PROMISE  OF SUPPORT. **
*******************************************************************************  
*                                                                           
* FILE:        usb_isr.c	 REVISION 0.1
*  
* DESCRIPTION: This module handles the USB Interrupt Service Routine
*              applicaton tasks for the system
*
* NOTES:       All modules remain at their reset addresses
*                                                  
* UPDATED HISTORY:
*
* REV   YYYY.MM.DD  AUTHOR        DESCRIPTION OF CHANGE
* ---   ----------  ------        --------------------- 
* 0.0   2003.03.01  Vincent Ko    Initial version
* 0.1   2004.04.12  Derek Lau     Demo version
*
******************************************************************************/                                                                        
/* Freescale  is  not  obligated  to  provide  any  support, upgrades or new */
/* releases  of  the Software. Freescale may make changes to the Software at */
/* any time, without any obligation to notify or provide updated versions of */
/* the  Software  to you. Freescale expressly disclaims any warranty for the */
/* Software.  The  Software is provided as is, without warranty of any kind, */
/* either  express  or  implied,  including, without limitation, the implied */
/* warranties  of  merchantability,  fitness  for  a  particular purpose, or */
/* non-infringement.  You  assume  the entire risk arising out of the use or */
/* performance of the Software, or any systems you design using the software */
/* (if  any).  Nothing  may  be construed as a warranty or representation by */
/* Freescale  that  the  Software  or  any derivative work developed with or */
/* incorporating  the  Software  will  be  free  from  infringement  of  the */
/* intellectual property rights of third parties. In no event will Freescale */
/* be  liable,  whether in contract, tort, or otherwise, for any incidental, */
/* special,  indirect, consequential or punitive damages, including, but not */
/* limited  to,  damages  for  any loss of use, loss of time, inconvenience, */
/* commercial loss, or lost profits, savings, or revenues to the full extent */
/* such  may be disclaimed by law. The Software is not fault tolerant and is */
/* not  designed,  manufactured  or  intended by Freescale for incorporation */
/* into  products intended for use or resale in on-line control equipment in */
/* hazardous, dangerous to life or potentially life-threatening environments */
/* requiring  fail-safe  performance,  such  as  in the operation of nuclear */
/* facilities,  aircraft  navigation  or  communication systems, air traffic */
/* control,  direct  life  support machines or weapons systems, in which the */
/* failure  of  products  could  lead  directly to death, personal injury or */
/* severe  physical  or  environmental  damage  (High  Risk Activities). You */
/* specifically  represent and warrant that you will not use the Software or */
/* any  derivative  work of the Software for High Risk Activities.           */
/* Freescale  and the Freescale logos are registered trademarks of Freescale */
/* Semiconductor Inc.                                                        */ 
/*****************************************************************************/


#include	"FreescaleDef.h"			// Get my definitions (Constants & Macros)
#include	"UF32reg.h"			// Get the UF32 registers.
#include	"mk_extern.h"		// Get Mini-Kernel global prototypes
#include	"usb_extern.h"		// Get External variable
#include	"usb_includes.h"	// Get my module Configuration
#include	"usbms_extern.h"
#include	"utl_includes.h"
#include	"app_extern.h"


//============================================================
// The following codes are ISRs for dedicated IRQs.
#pragma CODE_SEG	DEFAULT
#pragma TRAP_PROC


// ===========================================================
//   USB_StatusChgISR() -
//  
//		USB Status Change interrupt service routine.
//
// ===========================================================
void USB_StatusChgISR(void)  
{

	// Check if Suspend status Change
	if(mCheckBit(USSC, UMSR1)) {
		
		UMSR1 = (1<<USSC);
/*
		if mCheckBit(USD, UMSR1) {


			mClearBit(PLLSEL, CLKSEL);		// Select OSC clock as system clock
			mSetBit(SPHY, UMCR);			// Suspend PHY
			mSetBit(RESUMEIE, UIMR);		// Enable resume interrupt mask			EnableInterrupts;				// Clear I bit

			// Light SUSPEND LED
			mSetBit(SUSPEND_LED, PORTI);
//			EnterSTOP;

//			mClearBit(RESUMEIE, UIMR);		// Disable resume interrupt mask
			
		} else {

			mClearBit(RESUMEIE, UIMR);		// Disable resume interrupt mask
			if (mCheckBit(PLLSEL, CLKSEL)==0) {

				mClearBit(SPHY, UMCR);		// Clear Suspend PHY bit
				while (mCheckBit(LOCK,CRGFLG)==0x00);
				mSetBit(PLLSEL, CLKSEL);	// Select PHY clock as system clock				

				// Dark SUSPEND LED		
				mClearBit(SUSPEND_LED, PORTI);
			};
		};		
*/
	} else {
		// Check if Reset status Change
		if(mCheckBit(URSC, UMSR1)) {
		
			if mCheckBit(URD, UMSR1) {
				while (mCheckBit(URD,UMSR1));
				gUSBDebug = UMSR1;
				if (mCheckBit(FULLSPD,UMSR1))
					gUSBFullSpeed = 1;
				else
					gUSBFullSpeed = 0;	
//				mSetBit(MRST, UMCR);	// RESET Module
				USB_ModuleInit();					// Reinit Module
				USB_InitBulkOnlyTransport();		// Reinit Bulk Only transport
			};					
			UMSR1 = (1<<URSC);
								
		} else {
			// Light ERROR LED
			mSetBit(ERROR_LED, PORTT);
		
		};
	};
	

};

#pragma CODE_SEG	DEFAULT
 
#pragma TRAP_PROC

// ===========================================================
//   USB_StartFrameISR() -
//  
//		USB Start Frame interrupt service routine.
//
// ===========================================================
void USB_StartFrameISR(void) 
{

	// Check if Reset status Change
	if(mCheckBit(SOF, UMSR1))
	{
		UMSR1 = (1<<SOF);		
		mSetBit(USSCIE, UIMR);				// Traffic is confirmed, enable USSC interrupt
		mClearBit(SOFIE, UIMR);			// Disable SOF interrupt
	
	} else {
	
		// Light ERROR LED
		mSetBit(ERROR_LED, PORTT);
	};

};

#pragma TRAP_PROC

// ===========================================================
//   USB_SetupISR() -
//  
//		USB Setup interrupt service routine.
//		Setup command involved GET_DESCRIPTOR, class specific
//      or vendor specific command.
//
// ===========================================================
void USB_SetupISR(void) 
{

	if(mCheckBit(SETOVR, UMSR1))
	{					// SETUP override ?
		UMSR1 = (1<<SETOVR);
		USB_DecodeSETUP(&USTB);						// Decode SETUP packet
	}
	else
	{
		if(mCheckBit(SETUP, UMSR1))
		{				// SETUP command ?
			UMSR1 = (1<<SETUP);
			USB_DecodeSETUP(&USTB);					// Decode SETUP packet
		}
	}
	
}

#pragma TRAP_PROC

// ===========================================================
//   USB_SetConfigISR() -
//  
//		USB SET_CONFIGURATION command detected interrupt service routine.
//
// ===========================================================
void USB_SetConfigISR(void) 
{

	if(mCheckBit(SETECR, UCCSR))				// Set_Configuration ?
	{	

		if (mCheckBit(CFGVALID, UCCSR)) {		// Valid Configuration #
			mSetBit(DONEECRU, UCCSR);
			return;
		};

		if (mCheckBit(INTFVALID, UCCSR)) {		// Valid Interface #
			mSetBit(DONEECRU, UCCSR);
			return;
		}

	} else {
	
		// Light ERROR LED
		mSetBit(ERROR_LED, PORTT);
	};


};

#pragma TRAP_PROC

// ===========================================================
//   IsrUsbEnd0IN() -
//  
//		USB Endpoint 0 IN interrupt service routine.
//
// ===========================================================
void USB_EP0INISR(void) 
{

	// Check if Endpoint 0 IN packet detected
	if(mCheckBit(TFRC, UEPCSR0))
	{
	
		UEPCSR0 = 0x3000;			// Clear DVALID, Clear TFRC
		
	} else {
	
		// Light ERROR LED
		mSetBit(ERROR_LED, PORTT);
	};


};

#pragma TRAP_PROC

// ===========================================================
//   USB_EP0OUTISR() -
//  
//		USB Endpoint 0 OUT interrupt service routine.
//
// ===========================================================
void USB_EP0OUTISR(void) 
{

	// Check if Endpoint 0 OUT packet detected
	if(mCheckBit(TFRC, UEPCSR1))
	{
	
		UEPCSR1 = 0x3000;			// Clear DVALID, Clear TFRC

	} else {
	
		// Light ERROR LED
		mSetBit(ERROR_LED, PORTT);
	};

};

#pragma TRAP_PROC

// ===========================================================
//   USB_PhyEP2ISR() -
//  
//		USB Physical Endpoint 2 interrupt service routine.
//
// ===========================================================
void USB_PhyEP2ISR(void) 
{

	// Check if Physical Endpoint 2 packet detected
	if(mCheckBit(TFRC, UEPCSR2))
	{
	
		UEPCSR2 = 0x3000;			// Clear DVALID, Clear TFRC

	} else {
	
		// Light ERROR LED
		mSetBit(ERROR_LED, PORTT);
	};

};

#pragma TRAP_PROC

// ===========================================================
//   USB_PhyEP3ISR() -
//  
//		USB Physical Endpoint 3 interrupt service routine.
//
// ===========================================================
void USB_PhyEP3ISR(void) 
{

	// Check if Physical Endpoint 3 packet detected
	if(mCheckBit(TFRC, UEPCSR3))
	{
	
	} else {
	
		// Light ERROR LED
//		mSetBit(ERROR_LED, PORTI);
	};

};

#pragma TRAP_PROC

// ===========================================================
//   USB_PEndpoint6ISR() -
//  
//		USB Physical Endpoint 6 interrupt service routine.
//
// ===========================================================
void USB_PhyEP6ISR(void) 
{

	// Check if Physical Endpoint 6 acket detected
	if(mCheckBit(TFRC, UEPCSR6))
	{
	
	} else {
	
		// Light ERROR LED
//		mSetBit(ERROR_LED, PORTI);
	};

};



//
// The end of file usb_Isr.c 
// *********************************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人官网二区| 日日夜夜精品免费视频| 亚洲成人av一区| 国产精品一区二区视频| 欧美日韩中文字幕精品| 亚洲国产精华液网站w| 日韩影视精彩在线| 色婷婷精品大在线视频| 久久香蕉国产线看观看99| 亚洲一区二区免费视频| 国产99久久久国产精品| 日韩手机在线导航| 亚洲午夜久久久久久久久电影院| 粉嫩高潮美女一区二区三区| 日韩三级高清在线| 亚洲bt欧美bt精品777| 99麻豆久久久国产精品免费| 精品免费一区二区三区| 热久久国产精品| 欧美精品久久天天躁| 亚洲欧美日韩一区二区 | 欧美精品一区视频| 亚洲成a人v欧美综合天堂| 色婷婷亚洲一区二区三区| 国产精品天天看| 国产精品一二三四| 国产片一区二区三区| 极品少妇一区二区| 欧美电影免费观看高清完整版| 丝袜亚洲另类欧美综合| 欧美私人免费视频| 亚洲动漫第一页| 欧美日韩亚洲综合在线| 亚洲gay无套男同| 4438x成人网最大色成网站| 日韩高清不卡在线| 日韩一区二区三区视频在线| 人人狠狠综合久久亚洲| 久久中文字幕电影| 国产传媒一区在线| 最新中文字幕一区二区三区| 91色婷婷久久久久合中文| 亚洲精品一卡二卡| 欧美在线视频全部完| 视频一区欧美日韩| 精品国产乱码久久久久久久久| 狠狠网亚洲精品| 国产精品视频一区二区三区不卡| 丰满白嫩尤物一区二区| 亚洲综合色成人| 欧美一区二区在线视频| 国产一区二区毛片| 亚洲三级理论片| 欧美高清激情brazzers| 激情图区综合网| 亚洲视频资源在线| 91.成人天堂一区| 激情深爱一区二区| 亚洲欧洲av另类| 3d动漫精品啪啪| 国产电影精品久久禁18| 亚洲精品videosex极品| 日韩亚洲欧美综合| 成人av午夜电影| 日韩精品免费专区| 国产精品美女久久福利网站| 91官网在线免费观看| 精彩视频一区二区三区| 中文字幕一区二区日韩精品绯色| 欧美日韩国产首页在线观看| 国产又黄又大久久| 亚洲一区二区三区精品在线| 久久久久久久久蜜桃| 精品视频一区二区不卡| 国产成人aaa| 日韩有码一区二区三区| 国产精品人妖ts系列视频| 欧美精品自拍偷拍动漫精品| 国产·精品毛片| 日韩精品一二三| 一区二区三区**美女毛片| 亚洲精品一区二区三区影院| 91免费国产在线观看| 精品在线一区二区三区| 亚洲精品免费在线| 亚洲国产激情av| 日韩欧美国产小视频| 欧美少妇bbb| 99精品国产91久久久久久| 国产在线视频一区二区三区| 无码av中文一区二区三区桃花岛| 国产精品久久久久久一区二区三区| 欧美一区二区三区人| 一本一道波多野结衣一区二区| 国产一区二区福利视频| 日本中文字幕一区二区视频| 亚洲人精品午夜| 国产精品久久久久一区| 亚洲精品在线免费播放| 欧美一区二区精品久久911| 在线看日韩精品电影| 成人美女视频在线看| 精品亚洲欧美一区| 久久电影国产免费久久电影| 亚洲成人激情自拍| 亚洲制服丝袜一区| 亚洲一区二区视频在线观看| 中文字幕一区二区在线观看| 国产精品色哟哟网站| 日本一区二区免费在线| 久久久国产午夜精品| 久久婷婷国产综合国色天香| 日韩亚洲国产中文字幕欧美| 在线成人av网站| 欧美一级视频精品观看| 91麻豆精品国产91久久久久久久久| 色天天综合久久久久综合片| 色屁屁一区二区| 欧美在线一区二区三区| 欧洲一区在线电影| 欧美肥妇free| 欧美成人官网二区| 国产欧美日韩不卡| 国产精品欧美经典| 亚洲视频综合在线| 性做久久久久久久免费看| 午夜亚洲福利老司机| 亚洲电影激情视频网站| 日韩经典中文字幕一区| 毛片一区二区三区| 国产露脸91国语对白| 99精品在线观看视频| 欧美日韩中文字幕一区| 日韩午夜激情视频| 国产欧美精品区一区二区三区 | 成人免费在线播放视频| 亚洲女人****多毛耸耸8| 亚洲成人自拍网| 美女精品一区二区| 成人精品小蝌蚪| 欧美性xxxxxx少妇| 日韩免费福利电影在线观看| 欧美激情在线观看视频免费| 亚洲免费毛片网站| 日本不卡123| 成人性生交大片免费看在线播放 | 国产精品久久久久久久第一福利| 亚洲视频一区二区免费在线观看 | 日韩av一区二区在线影视| 国产一区二区日韩精品| 色婷婷综合久久久中文一区二区| 91精品婷婷国产综合久久性色| 欧美mv和日韩mv的网站| 樱桃国产成人精品视频| 国产综合久久久久久鬼色| 色婷婷综合五月| 国产亚洲一区二区在线观看| 亚洲国产精品久久不卡毛片| 国产又黄又大久久| 欧美精三区欧美精三区| 国产精品久久久久久户外露出| 五月天亚洲婷婷| 成人小视频免费在线观看| 欧美一区二区三区日韩视频| 中文字幕一区二区三区不卡 | 亚洲成人综合网站| 成人性生交大片| 精品久久一二三区| 亚洲男女一区二区三区| 国产激情一区二区三区四区| 88在线观看91蜜桃国自产| 自拍偷拍亚洲综合| 国产在线一区二区综合免费视频| 欧美三区在线视频| 亚洲欧洲性图库| 丰满岳乱妇一区二区三区| 日韩精品在线网站| 视频在线观看一区| 一本到三区不卡视频| 国产亚洲婷婷免费| 久久99国产精品久久| 欧美一区二区三区在线观看视频| 成人免费视频在线观看| 国产91丝袜在线观看| 精品国产91久久久久久久妲己| 一区二区不卡在线播放| 97se亚洲国产综合自在线观| 国产女主播视频一区二区| 国产一区二区三区久久久 | 一区二区三区精品在线| k8久久久一区二区三区 | 波多野结衣一区二区三区| 精品国产一区二区精华| 日本最新不卡在线| 欧美高清精品3d| 日本在线不卡一区| 5858s免费视频成人| 日韩高清不卡一区二区| 制服.丝袜.亚洲.另类.中文 | 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆|