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

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

?? usb_cdc.c

?? M68HC08及HCS08系列單片機bootloader引導程序源碼/示例
?? C
字號:
/******************************************************************************
*
* Freescale Semiconductor Inc.
* (c) Copyright 2004-2005 Freescale Semiconductor, Inc.
* (c) Copyright 2001-2004 Motorola, Inc.
* ALL RIGHTS RESERVED.
*
***************************************************************************//*!
*
* @file      usb_cdc.c
*
* @author    r30323
* 
* @version   1.0.3.0
* 
* @date      Sep-8-2008
* 
* @brief     Here we define Communication Class USB Device descriptors (CDC)
*
*******************************************************************************
*
* 
*
******************************************************************************/
#include "map.h"
#include "usb.h"
#include "usb_periph_cfg.h"
#include "usb_cdc.h"

#include "usb_driver.h"

#pragma CONST_SEG MyConstant
const DeviceDscStrc device01 =
{
  sizeof(DeviceDscStrc),		// length of this descriptor
  DSC_DEVICE_TYPE,					// DEVICE descriptor type
  CHNG_ENDIAN(0x0200),			// USB release Num. in BCD
  CLASS_CDC_DEVICE,					// device Class Code
  0x00,											// device subclass code
  0x00,											// device protocol code
  EP0_BUFFER_SIZE,					// max. endpoint 0 buffer size -> allways 8
  CHNG_ENDIAN(0x15A2),      // vendor id. - Freescale 
  CHNG_ENDIAN(0x0010),      // product id - AN2295 Bootloader
  CHNG_ENDIAN(0x0000),			// device release number
  0x00,											// index of manufacturer string descriptor
  0x01,											// index of product string descriptor
  0x02,											// index of serial number string descriptor
  0x01											// number of possible configurations
};

// Configuration 1
const Config01_dsc_strc config01 =
{
  // CONFIGURATION descriptor
  sizeof(ConfigDscStrc),
  DSC_CONFIGURATION_TYPE,
  CHNG_ENDIAN(sizeof(Config01_dsc_strc)),
  0x02, // number or interfaces
  0x01, // config value
  0x00, // $ descriptor
  0x80,
  0x32,

  // INTERFACE 00 descriptor
  sizeof(IntfcDscStrc),
  DSC_INTERFACE_TYPE,
  0,		// interface number
  0,
  1,    // number of endpoints
  CLASS_COMM_INTF,
  SCLASS_ABST_CTRL_MODEL,
  CLASS_NO_PROTOCOL,
  0,
    
  // HEADER FUNCTION CDC Class Specific descriptor
  sizeof(CdcHeaderFnDscStrc),
  DSC_CS_INTERFACE,
  SDSC_FN_HEADER,
  CHNG_ENDIAN(0x0110),
  
  // ABSTRACT CONTROL MODEL CDC Class Specific descriptor
  sizeof(CdcAcmFnDscStrc),
  DSC_CS_INTERFACE,
  SDSC_FN_ACM,
  0x02,
  
  // UNION CDC Class Specific descriptor
  sizeof(CdcUnionFnDscStrc),
  DSC_CS_INTERFACE,
  SDSC_FN_UNION,
  CDC_COMM_INTF_ID,
  CDC_DATA_INTF_ID,
  
  // CALL MANAGMENT FUNCTION CDC Class Specific descriptor
  sizeof(CdcCallMngmtFnDscStrc),
  DSC_CS_INTERFACE,
  SDSC_FN_CALL_MGT,
  0x00,
  CDC_DATA_INTF_ID,
  
  // ENDPOINT 01 IN descriptor interrupt
  sizeof(EpDscStrc),
  DSC_ENDPOINT_TYPE,
  EP01_IN_ADR,
  (EP1_MODE>>6),
  CHNG_ENDIAN(EP1_BUFFER_SIZE),	                
  0x02,
  
  // INTERFACE 02 descriptor
  sizeof(IntfcDscStrc),
  DSC_INTERFACE_TYPE,
  1,
  0,
  2,
  CLASS_DATA_INTF,
  0,
  CLASS_NO_PROTOCOL,
  0,
  
  // ENDPOINT 02 OUT descriptor
  sizeof(EpDscStrc),
  DSC_ENDPOINT_TYPE,
  EP02_OUT_ADR,
  (EP2_MODE>>6),
  CHNG_ENDIAN(EP2_BUFFER_SIZE),
  0x00,
  
  // ENDPOINT 03 IN descriptor
  sizeof(EpDscStrc),
  DSC_ENDPOINT_TYPE,
  EP03_IN_ADR,
  (EP3_MODE>>6),
  CHNG_ENDIAN(EP3_BUFFER_SIZE),
  0x00,
};

// STRING Descriptors index 0
const struct 
{
  byte bLength;
  byte bDescriptorType;
  word string[1];
}StringDscStrc00 = 
{
  sizeof(StringDscStrc00),
  DSC_STRING_TYPE,
  CHNG_ENDIAN(0x0409),
};

// STRING Descriptors index 2
const struct 
{
  byte bLength;
  byte bDescriptorType;
  byte string[34];
}StringDscStrc01 = 
{
  sizeof(StringDscStrc01),
  DSC_STRING_TYPE,
  'A',0,'N',0,'2',0,'2',0,'9',0,'5',0,' ',0,
  'B',0,'o',0,'o',0,'t',0,'l',0,'o',0,'a',0,'d',0,'e',0,'r',0
};

const struct 
{
  byte bLength;
  byte bDescriptorType;
  byte string[28];
}StringDscStrc02 = 
{
  sizeof(StringDscStrc02),
  DSC_STRING_TYPE,
  '0',0,'0',0,'2',0,'4',0,'0',0,'0',0,'0',0,'0',0,'0',0,'0',0,'0',0,'0',0,'0',0,'1',0
};

const byte* const stringDscTab[STRING_DSC_TAB_LEN] = 
{
  (byte*)&StringDscStrc00,
  (byte*)&StringDscStrc01,
  (byte*)&StringDscStrc02,
};

// Create pointers to config01 and device01 variables in flash
// These variables are used in USB_driver to locate config01 and
// device01 variables 
IDENT_CONFIG_DSC(config01);
IDENT_DEVICE_DSC(device01);

#pragma CONST_SEG DEFAULT


// from here variables are located in RAM

CdcLineCodingStrc cdcLineCoding = 
{
  CHNG_ENDIANL(115200),
  LINEC_1_STOPB,
  LINEC_PARITY_NONE,
  8,
};

// control signal RTS / DTR
word cdcControlLineState = 0;
// serial state DSR / DCD
word cdcSerialState = 0; 


// CDC-class specific requests
void USB_ClassRequestCB(void)
{
  word temp;
  
	switch (((SetupPcktStrc *)EP0_BASE_ADR)->bRequest) 
	{
		case(SEND_ENCAPSULATED_COMMAND):
 			  USB_WRSTALL_EP0(1);
			break;
			
		case(GET_ENCAPSULATED_RESPONSE):
	 			USB_WRSTALL_EP0(1);
			break;
			
		case(SET_COMM_FEATURE):
	 			USB_WRSTALL_EP0(1);
			break;
		
		case(GET_COMM_FEATURE):
 			  USB_WRSTALL_EP0(1);
			break;
		
		case(CLEAR_COMM_FEATURE):
	 			USB_WRSTALL_EP0(1);
			break;
		
		case(SET_LINE_CODING):    // OUT packet		
	  	temp = CHNG_ENDIAN(((SetupPcktStrc *)EP0_BASE_ADR)->wLength);
	  	if(temp > 0xFF) temp = 0xFF;
			USB_RxBuff0((byte*)&cdcLineCoding,(byte)temp);
   	break; 
		
		case(GET_LINE_CODING):    // IN packet

			temp = CHNG_ENDIAN(((SetupPcktStrc *)EP0_BASE_ADR)->wLength);
	  	if(temp > 0xFF) temp = 0xFF;
			
      (void) USB_TxBuff0((byte*)&cdcLineCoding, (byte)temp);
			break; 

		case(SET_CONTROL_LINE_STATE):		//OUT 
		  cdcControlLineState = CHNG_ENDIAN(((SetupPcktStrc *)EP0_BASE_ADR)->wValue);
      
		  // this command has zero data length
			(void) USB_TxBuff0(NULL, 0);
			break; 
			
		case(SEND_BREAK):
 			USB_WRSTALL_EP0(1);
			break; 

		default:
 			USB_WRSTALL_EP0(1);
			break;	
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清dvd| 亚洲精品成a人| 综合自拍亚洲综合图不卡区| 亚洲v日本v欧美v久久精品| 国产一区二区调教| 日本道在线观看一区二区| 精品国产三级电影在线观看| 亚洲一区二区欧美激情| 国产成人99久久亚洲综合精品| 在线日韩一区二区| 国产偷v国产偷v亚洲高清| 日日骚欧美日韩| 色视频欧美一区二区三区| 精品国产免费人成电影在线观看四季| 亚洲日本中文字幕区| 国产乱一区二区| 欧美肥妇bbw| 一区二区三区在线播| 粉嫩嫩av羞羞动漫久久久| 日韩欧美一级在线播放| 亚洲一区中文日韩| 91偷拍与自偷拍精品| 久久久不卡影院| 久久精品国产精品亚洲精品| 欧美日韩一本到| 日韩毛片一二三区| 成人精品免费看| 国产三级精品三级| 国产一区免费电影| 日韩欧美激情在线| 视频一区二区国产| 欧美二区在线观看| 午夜欧美视频在线观看| 色婷婷精品大在线视频 | 久久精品噜噜噜成人av农村| 色哟哟亚洲精品| 亚洲天堂av一区| 一本一道波多野结衣一区二区| 国产精品毛片无遮挡高清| 国产一区二区福利视频| 欧美精品一区二区三区在线播放 | 中文字幕精品综合| 国产成人亚洲精品青草天美| 久久精品一区八戒影视| 国产精品一区在线观看乱码| 久久久久久久久久久久电影 | 亚洲一二三区在线观看| 91成人免费网站| 亚洲图片一区二区| 欧美精品九九99久久| 毛片一区二区三区| 2024国产精品| 粉嫩aⅴ一区二区三区四区五区| 中文字幕国产一区| 色婷婷久久99综合精品jk白丝| 亚洲欧美日韩国产综合在线 | 成人中文字幕在线| 中文字幕一区二区三| 91黄色免费观看| 青青草成人在线观看| 亚洲精品一线二线三线| 成人视屏免费看| 亚洲一线二线三线久久久| 欧美一卡二卡三卡| 岛国精品在线播放| 亚洲一二三区视频在线观看| 欧美一区二区免费| 丁香婷婷综合色啪| 亚洲一级二级三级| 精品粉嫩超白一线天av| www.亚洲免费av| 天天影视涩香欲综合网| 久久午夜羞羞影院免费观看| 99久久久精品| 免费欧美日韩国产三级电影| 国产农村妇女毛片精品久久麻豆| 色欧美片视频在线观看在线视频| 日本美女视频一区二区| 国产女人aaa级久久久级 | 精品一区二区三区免费毛片爱| 中文字幕的久久| 欧美无砖砖区免费| 国产成人夜色高潮福利影视| 一区二区三区四区乱视频| 日韩午夜激情视频| 91麻豆视频网站| 成人av影视在线观看| 亚洲午夜成aⅴ人片| 国产嫩草影院久久久久| 欧美精品成人一区二区三区四区| 国产一区二区成人久久免费影院| 一区二区三区自拍| 久久九九99视频| 欧美二区三区91| 91捆绑美女网站| 国产精品亚洲一区二区三区妖精 | 精品夜夜嗨av一区二区三区| 亚洲精品一二三| 国产欧美精品在线观看| 欧美一区二区性放荡片| 91九色最新地址| 不卡电影一区二区三区| 精品在线亚洲视频| 日本欧美韩国一区三区| 亚洲午夜私人影院| 日韩理论片一区二区| 久久久久久黄色| 欧美成人乱码一区二区三区| 欧美制服丝袜第一页| 99精品一区二区| 国产suv精品一区二区6| 精品综合免费视频观看| 毛片基地黄久久久久久天堂| 手机精品视频在线观看| 亚洲夂夂婷婷色拍ww47| 亚洲日本va午夜在线影院| 国产精品嫩草影院com| 久久精品视频免费| 精品久久人人做人人爱| 欧美成人一区二区| 欧美哺乳videos| 精品国产一区二区精华| 欧美成va人片在线观看| 中日韩av电影| 中文字幕日韩一区| 亚洲欧洲www| 亚洲蜜桃精久久久久久久| 综合久久国产九一剧情麻豆| 日韩伦理免费电影| 亚洲精品亚洲人成人网 | 国产成人精品免费一区二区| 国产福利精品一区| 国产.欧美.日韩| www.66久久| 色婷婷av一区二区三区软件| 欧美四级电影在线观看| 欧美三级中文字| 日韩欧美色电影| 国产亚洲欧美日韩俺去了| 国产精品福利一区| 亚洲男人的天堂在线观看| 亚洲成a人v欧美综合天堂下载 | 成人高清视频免费观看| 99re成人精品视频| 欧美日韩不卡一区| 日韩欧美的一区| 国产三级欧美三级| 亚洲日本中文字幕区| 无码av免费一区二区三区试看 | 欧美大片一区二区| 国产精品污污网站在线观看 | 久久色视频免费观看| 国产精品视频一区二区三区不卡| 亚洲蜜臀av乱码久久精品蜜桃| 视频一区欧美精品| 国产成人综合网站| 日本高清不卡一区| 精品久久久久香蕉网| 中文字幕一区二区三区四区不卡| 亚洲一区二区在线视频| 精品一区二区三区免费视频| 91婷婷韩国欧美一区二区| 欧美一区二区三区四区五区| 国产精品人成在线观看免费| 亚洲va韩国va欧美va精品| 国产一区二区三区四区在线观看| 色屁屁一区二区| 国产视频视频一区| 奇米影视一区二区三区| 91影院在线观看| 久久一日本道色综合| 亚洲线精品一区二区三区 | 久久国产尿小便嘘嘘尿| 91在线你懂得| 久久一二三国产| 五月天久久比比资源色| 国产99久久久精品| 51精品视频一区二区三区| 国产精品女人毛片| 精品一区二区久久久| 欧美三级视频在线观看| 国产精品每日更新在线播放网址| 美女视频一区二区| 欧美四级电影在线观看| 中文字幕一区二区不卡| 国内精品久久久久影院薰衣草| 欧美亚男人的天堂| 亚洲欧洲日产国产综合网| 国产自产高清不卡| 日韩欧美亚洲国产精品字幕久久久| 亚洲综合图片区| 99久久综合色| 国产精品区一区二区三| 精品一区二区三区的国产在线播放 | 日本高清免费不卡视频| 久久精品欧美日韩精品| 精品中文字幕一区二区小辣椒| 91精品国产福利| 亚洲国产综合色| 在线看不卡av|