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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? usb_isr.c

?? 飛思卡爾MC9S12uf32的一些實(shí)用驅(qū)動(dòng)程序
?? C
字號(hào):
/******************************************************************************
*                                                  
*  (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 
// *********************************************************************************

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品一区二区尤物区| 中文字幕一区二区三区视频| 精品久久久网站| 日本一区二区免费在线观看视频 | 亚洲大片在线观看| 国产成人免费av在线| 欧美日韩国产免费一区二区 | 在线播放日韩导航| 国产精品久久久久久久久快鸭| 日韩电影在线一区二区三区| 99视频精品免费视频| 精品国产亚洲一区二区三区在线观看| 亚洲视频综合在线| 国产精品一区二区在线观看不卡| 欧美体内she精视频| 中文字幕av在线一区二区三区| 亚洲a一区二区| 色噜噜狠狠色综合中国| 久久无码av三级| 日本不卡123| 欧美日韩国产一级| 一区二区三区中文在线| 菠萝蜜视频在线观看一区| 日韩免费看的电影| 日韩精品视频网| 欧美亚洲日本一区| 亚洲欧美一区二区三区久本道91 | 国产色产综合色产在线视频| 蜜臀av性久久久久蜜臀aⅴ| 欧美另类变人与禽xxxxx| 亚洲视频一区二区免费在线观看| 成人av电影观看| 国产精品网曝门| 成人美女视频在线观看18| 国产欧美精品在线观看| 国产.欧美.日韩| 欧美国产一区二区| 成人性色生活片免费看爆迷你毛片| 久久女同互慰一区二区三区| 久久99国产精品麻豆| 日韩精品一区二区三区四区视频 | 欧美美女一区二区三区| 亚洲成人一区二区在线观看| 欧美色区777第一页| 亚洲成人免费av| 91精品麻豆日日躁夜夜躁| 日本伊人色综合网| 26uuu精品一区二区| 国产自产v一区二区三区c| 国产亚洲欧美激情| 99视频国产精品| 亚洲综合图片区| 91.com在线观看| 久久电影网站中文字幕 | 国产99久久久国产精品潘金网站| 欧美国产一区二区| 在线看不卡av| 日本欧美肥老太交大片| 久久色视频免费观看| 成人av网址在线观看| 亚洲午夜视频在线观看| 在线综合+亚洲+欧美中文字幕| 蜜臀av一区二区在线免费观看| 国产日韩欧美制服另类| 色女孩综合影院| 六月婷婷色综合| 国产精品久久久一本精品| 欧美亚洲高清一区| 久久9热精品视频| 日韩伦理免费电影| 91精品国产综合久久精品| 国产成人在线影院 | 欧美日韩一区二区三区在线看| 日韩精品成人一区二区在线| 久久综合九色欧美综合狠狠| 91国偷自产一区二区使用方法| 日韩av高清在线观看| 国产精品成人在线观看| 欧美高清性hdvideosex| 国产成人精品综合在线观看| 亚洲一线二线三线视频| 精品精品国产高清一毛片一天堂| 波多野结衣中文一区| 免费高清成人在线| 亚洲欧美偷拍三级| 久久日韩粉嫩一区二区三区| 欧美三级日韩三级国产三级| 国产不卡视频在线观看| 日韩影院在线观看| 亚洲乱码一区二区三区在线观看| 欧美成人精品高清在线播放| 欧美亚洲禁片免费| caoporm超碰国产精品| 蜜桃精品在线观看| 一区二区三区在线观看网站| 久久精品视频网| 日韩限制级电影在线观看| 色天使久久综合网天天| 从欧美一区二区三区| 捆绑调教一区二区三区| 亚洲成人一区二区| 亚洲一区二区av在线| 国产精品日日摸夜夜摸av| 欧美tickle裸体挠脚心vk| 欧美日韩久久不卡| 在线中文字幕不卡| 一本高清dvd不卡在线观看 | 美女高潮久久久| 午夜久久福利影院| 亚洲va中文字幕| 亚洲一级电影视频| 亚洲精品国产成人久久av盗摄| 久久久国产精品不卡| 精品入口麻豆88视频| 欧美成人a在线| 日韩欧美在线观看一区二区三区| 欧美日韩成人在线| 欧美精品久久99久久在免费线| 在线观看成人小视频| 欧美亚洲自拍偷拍| 欧美日本一道本在线视频| 欧美主播一区二区三区| 欧美午夜精品久久久久久孕妇 | jlzzjlzz亚洲女人18| 国产宾馆实践打屁股91| 成人免费毛片嘿嘿连载视频| 成人性生交大片免费看中文| 99久久精品免费精品国产| 成人激情av网| 色久优优欧美色久优优| 欧美丝袜自拍制服另类| 欧美日韩1234| 精品国产乱码久久久久久牛牛| 337p粉嫩大胆噜噜噜噜噜91av| 久久伊99综合婷婷久久伊| 久久夜色精品国产噜噜av| 久久午夜免费电影| 亚洲图片欧美激情| 一区二区三区欧美视频| 天堂蜜桃91精品| 寂寞少妇一区二区三区| 成人午夜碰碰视频| 91同城在线观看| 6080国产精品一区二区| 久久婷婷一区二区三区| 亚洲色图欧洲色图婷婷| 亚洲国产毛片aaaaa无费看 | 亚洲电影你懂得| 午夜一区二区三区视频| 美女一区二区三区在线观看| 国产成a人亚洲精品| 在线观看视频欧美| 日韩一二三区不卡| 国产精品乱码妇女bbbb| 亚洲成人动漫精品| 久久www免费人成看片高清| 99久久99久久免费精品蜜臀| 欧美精品xxxxbbbb| 欧美高清在线精品一区| 亚洲成人www| av在线不卡网| 日韩久久免费av| 亚洲女人****多毛耸耸8| 日本中文字幕一区| 色婷婷精品久久二区二区蜜臂av| 欧美一区二区三区电影| 亚洲视频中文字幕| 国产自产2019最新不卡| 欧美日韩视频第一区| 欧美极品xxx| 日韩成人免费在线| 一道本成人在线| 国产亚洲精品bt天堂精选| 亚洲国产精品一区二区www | 欧美午夜精品免费| 国产精品福利一区二区三区| 美腿丝袜亚洲三区| 欧美在线你懂的| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲色图在线视频| 国产综合色视频| 日韩欧美一区二区免费| 一区二区三区四区av| 成人一级黄色片| 久久久精品人体av艺术| 首页亚洲欧美制服丝腿| 色88888久久久久久影院按摩| 国产欧美日韩另类一区| 精品一区二区三区免费毛片爱| 欧美另类z0zxhd电影| 玉米视频成人免费看| 国产91在线|亚洲| 精品免费国产一区二区三区四区| 五月激情六月综合| 欧美性感一区二区三区| 怡红院av一区二区三区| 91麻豆高清视频| 一区二区三区在线视频观看58| 99国产精品久久久久久久久久久| 国产精品理论在线观看|