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

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

?? usbconfig-prototype.h

?? AVR單片機模擬USB實現CDC類串行口
?? H
字號:
/* Name: usbconfig.h * Project: AVR USB driver * Author: Christian Starkjohann * Creation Date: 2005-04-01 * Tabsize: 4 * Copyright: (c) 2005 by OBJECTIVE DEVELOPMENT Software GmbH * License: GNU GPL v2 (see License.txt) or proprietary (CommercialLicense.txt) * This Revision: $Id: usbconfig-prototype.h 464 2007-12-26 21:15:04Z cs $ */#ifndef __usbconfig_h_included__#define __usbconfig_h_included__/*General Description:This file is an example configuration (with inline documentation) for the USBdriver. It configures AVR-USB for an ATMega8 with USB D+ connected to Port Dbit 2 (which is also hardware interrupt 0) and USB D- to Port D bit 0. You maywire the lines to any other port, as long as D+ is also wired to INT0.To create your own usbconfig.h file, copy this file to the directorycontaining "usbdrv" (that is your project firmware source directory) andrename it to "usbconfig.h". Then edit it accordingly.*//* ---------------------------- Hardware Config ---------------------------- */#define USB_CFG_IOPORTNAME      D/* This is the port where the USB bus is connected. When you configure it to * "B", the registers PORTB, PINB and DDRB will be used. */#define USB_CFG_DMINUS_BIT      0/* This is the bit number in USB_CFG_IOPORT where the USB D- line is connected. * This may be any bit in the port. */#define USB_CFG_DPLUS_BIT       2/* This is the bit number in USB_CFG_IOPORT where the USB D+ line is connected. * This may be any bit in the port. Please note that D+ must also be connected * to interrupt pin INT0! [You can also use other interrupts, see section * "Optional MCU Description" below, or you can connect D- to the interrupt, as * it is required if you use the USB_COUNT_SOF feature. If you use D- for the * interrupt, the USB interrupt will also be triggered at Start-Of-Frame * markers every millisecond.] *//* #define USB_CFG_CLOCK_KHZ       (F_CPU/1000) *//* Clock rate of the AVR in MHz. Legal values are 12000, 15000, 16000 or 16500. * The 16.5 MHz version of the code requires no crystal, it tolerates +/- 1% * deviation from the nominal frequency. All other rates require a precision * of 2000 ppm and thus a crystal! * Default if not specified: 12 MHz *//* ----------------------- Optional Hardware Config ------------------------ *//* #define USB_CFG_PULLUP_IOPORTNAME   D *//* If you connect the 1.5k pullup resistor from D- to a port pin instead of * V+, you can connect and disconnect the device from firmware by calling * the macros usbDeviceConnect() and usbDeviceDisconnect() (see usbdrv.h). * This constant defines the port on which the pullup resistor is connected. *//* #define USB_CFG_PULLUP_BIT          4 *//* This constant defines the bit number in USB_CFG_PULLUP_IOPORT (defined * above) where the 1.5k pullup resistor is connected. See description * above for details. *//* --------------------------- Functional Range ---------------------------- */#define USB_CFG_HAVE_INTRIN_ENDPOINT    1/* Define this to 1 if you want to compile a version with two endpoints: The * default control endpoint 0 and an interrupt-in endpoint (any other endpoint * number). */#define USB_CFG_HAVE_INTRIN_ENDPOINT3   0/* Define this to 1 if you want to compile a version with three endpoints: The * default control endpoint 0, an interrupt-in endpoint 3 (or the number * configured below) and a catch-all default interrupt-in endpoint as above. * You must also define USB_CFG_HAVE_INTRIN_ENDPOINT to 1 for this feature. */#define USB_CFG_EP3_NUMBER              3/* If the so-called endpoint 3 is used, it can now be configured to any other * endpoint number (except 0) with this macro. Default if undefined is 3. *//* #define USB_INITIAL_DATATOKEN           USBPID_DATA0 *//* The above macro defines the startup condition for data toggling on the * interrupt/bulk endpoints 1 and 3. Defaults to USBPID_DATA0. */#define USB_CFG_IMPLEMENT_HALT          0/* Define this to 1 if you also want to implement the ENDPOINT_HALT feature * for endpoint 1 (interrupt endpoint). Although you may not need this feature, * it is required by the standard. We have made it a config option because it * bloats the code considerably. */#define USB_CFG_INTR_POLL_INTERVAL      20/* If you compile a version with endpoint 1 (interrupt-in), this is the poll * interval. The value is in milliseconds and must not be less than 10 ms for * low speed devices. */#define USB_CFG_IS_SELF_POWERED         0/* Define this to 1 if the device has its own power supply. Set it to 0 if the * device is powered from the USB bus. */#define USB_CFG_MAX_BUS_POWER           100/* Set this variable to the maximum USB bus power consumption of your device. * The value is in milliamperes. [It will be divided by two since USB * communicates power requirements in units of 2 mA.] */#define USB_CFG_IMPLEMENT_FN_WRITE      0/* Set this to 1 if you want usbFunctionWrite() to be called for control-out * transfers. Set it to 0 if you don't need it and want to save a couple of * bytes. */#define USB_CFG_IMPLEMENT_FN_READ       0/* Set this to 1 if you need to send control replies which are generated * "on the fly" when usbFunctionRead() is called. If you only want to send * data from a static buffer, set it to 0 and return the data from * usbFunctionSetup(). This saves a couple of bytes. */#define USB_CFG_IMPLEMENT_FN_WRITEOUT   0/* Define this to 1 if you want to use interrupt-out (or bulk out) endpoints. * You must implement the function usbFunctionWriteOut() which receives all * interrupt/bulk data sent to any endpoint other than 0. The endpoint number * can be found in 'usbRxToken'. */#define USB_CFG_HAVE_FLOWCONTROL        0/* Define this to 1 if you want flowcontrol over USB data. See the definition * of the macros usbDisableAllRequests() and usbEnableAllRequests() in * usbdrv.h. *//* #define USB_RX_USER_HOOK(data, len)     if(usbRxToken == (uchar)USBPID_SETUP) blinkLED(); *//* This macro is a hook if you want to do unconventional things. If it is * defined, it's inserted at the beginning of received message processing. * If you eat the received message and don't want default processing to * proceed, do a return after doing your things. One possible application * (besides debugging) is to flash a status LED on each packet. */#define USB_COUNT_SOF                   0/* define this macro to 1 if you need the global variable "usbSofCount" which * counts SOF packets. This feature requires that the hardware interrupt is * connected to D- instead of D+. *//* -------------------------- Device Description --------------------------- */#define  USB_CFG_VENDOR_ID       0xc0, 0x16/* USB vendor ID for the device, low byte first. If you have registered your * own Vendor ID, define it here. Otherwise you use obdev's free shared * VID/PID pair. Be sure to read USBID-License.txt for rules! * This template uses obdev's shared VID/PID pair for HIDs: 0x16c0/0x5df. * Use this VID/PID pair ONLY if you understand the implications! */#define  USB_CFG_DEVICE_ID       0xdf, 0x05/* This is the ID of the product, low byte first. It is interpreted in the * scope of the vendor ID. If you have registered your own VID with usb.org * or if you have licensed a PID from somebody else, define it here. Otherwise * you use obdev's free shared VID/PID pair. Be sure to read the rules in * USBID-License.txt! * This template uses obdev's shared VID/PID pair for HIDs: 0x16c0/0x5df. * Use this VID/PID pair ONLY if you understand the implications! */#define USB_CFG_DEVICE_VERSION  0x00, 0x01/* Version number of the device: Minor number first, then major number. */#define USB_CFG_VENDOR_NAME     'w', 'w', 'w', '.', 'o', 'b', 'd', 'e', 'v', '.', 'a', 't'#define USB_CFG_VENDOR_NAME_LEN 12/* These two values define the vendor name returned by the USB device. The name * must be given as a list of characters under single quotes. The characters * are interpreted as Unicode (UTF-16) entities. * If you don't want a vendor name string, undefine these macros. * ALWAYS define a vendor name containing your Internet domain name if you use * obdev's free shared VID/PID pair. See the file USBID-License.txt for * details. */#define USB_CFG_DEVICE_NAME     'T', 'e', 'm', 'p', 'l', 'a', 't', 'e'#define USB_CFG_DEVICE_NAME_LEN 8/* Same as above for the device name. If you don't want a device name, undefine * the macros. See the file USBID-License.txt before you assign a name if you * use a shared VID/PID. *//*#define USB_CFG_SERIAL_NUMBER   'N', 'o', 'n', 'e' *//*#define USB_CFG_SERIAL_NUMBER_LEN   0 *//* Same as above for the serial number. If you don't want a serial number, * undefine the macros. * It may be useful to provide the serial number through other means than at * compile time. See the section about descriptor properties below for how * to fine tune control over USB descriptors such as the string descriptor * for the serial number. */#define USB_CFG_DEVICE_CLASS        0#define USB_CFG_DEVICE_SUBCLASS     0/* See USB specification if you want to conform to an existing device class. */#define USB_CFG_INTERFACE_CLASS     3   /* HID */#define USB_CFG_INTERFACE_SUBCLASS  0#define USB_CFG_INTERFACE_PROTOCOL  0/* See USB specification if you want to conform to an existing device class or * protocol. * This template defines a HID class device. If you implement a vendor class * device, set USB_CFG_INTERFACE_CLASS to 0 and USB_CFG_DEVICE_CLASS to 0xff. */#define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH    42  /* total length of report descriptor *//* Define this to the length of the HID report descriptor, if you implement * an HID device. Otherwise don't define it or define it to 0. * Since this template defines a HID device, it must also specify a HID * report descriptor length. You must add a PROGMEM character array named * "usbHidReportDescriptor" to your code which contains the report descriptor. * Don't forget to keep the array and this define in sync! *//* #define USB_PUBLIC static *//* Use the define above if you #include usbdrv.c instead of linking against it. * This technique saves a couple of bytes in flash memory. *//* ------------------- Fine Control over USB Descriptors ------------------- *//* If you don't want to use the driver's default USB descriptors, you can * provide our own. These can be provided as (1) fixed length static data in * flash memory, (2) fixed length static data in RAM or (3) dynamically at * runtime in the function usbFunctionDescriptor(). See usbdrv.h for more * information about this function. * Descriptor handling is configured through the descriptor's properties. If * no properties are defined or if they are 0, the default descriptor is used. * Possible properties are: *   + USB_PROP_IS_DYNAMIC: The data for the descriptor should be fetched *     at runtime via usbFunctionDescriptor(). *   + USB_PROP_IS_RAM: The data returned by usbFunctionDescriptor() or found *     in static memory is in RAM, not in flash memory. *   + USB_PROP_LENGTH(len): If the data is in static memory (RAM or flash), *     the driver must know the descriptor's length. The descriptor itself is *     found at the address of a well known identifier (see below). * List of static descriptor names (must be declared PROGMEM if in flash): *   char usbDescriptorDevice[]; *   char usbDescriptorConfiguration[]; *   char usbDescriptorHidReport[]; *   char usbDescriptorString0[]; *   int usbDescriptorStringVendor[]; *   int usbDescriptorStringDevice[]; *   int usbDescriptorStringSerialNumber[]; * Other descriptors can't be provided statically, they must be provided * dynamically at runtime. * * Descriptor properties are or-ed or added together, e.g.: * #define USB_CFG_DESCR_PROPS_DEVICE   (USB_PROP_IS_RAM | USB_PROP_LENGTH(18)) * * The following descriptors are defined: *   USB_CFG_DESCR_PROPS_DEVICE *   USB_CFG_DESCR_PROPS_CONFIGURATION *   USB_CFG_DESCR_PROPS_STRINGS *   USB_CFG_DESCR_PROPS_STRING_0 *   USB_CFG_DESCR_PROPS_STRING_VENDOR *   USB_CFG_DESCR_PROPS_STRING_PRODUCT *   USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER *   USB_CFG_DESCR_PROPS_HID *   USB_CFG_DESCR_PROPS_HID_REPORT *   USB_CFG_DESCR_PROPS_UNKNOWN (for all descriptors not handled by the driver) * */#define USB_CFG_DESCR_PROPS_DEVICE                  0#define USB_CFG_DESCR_PROPS_CONFIGURATION           0#define USB_CFG_DESCR_PROPS_STRINGS                 0#define USB_CFG_DESCR_PROPS_STRING_0                0#define USB_CFG_DESCR_PROPS_STRING_VENDOR           0#define USB_CFG_DESCR_PROPS_STRING_PRODUCT          0#define USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER    0#define USB_CFG_DESCR_PROPS_HID                     0#define USB_CFG_DESCR_PROPS_HID_REPORT              0#define USB_CFG_DESCR_PROPS_UNKNOWN                 0/* ----------------------- Optional MCU Description ------------------------ *//* The following configurations have working defaults in usbdrv.h. You * usually don't need to set them explicitly. Only if you want to run * the driver on a device which is not yet supported or with a compiler * which is not fully supported (such as IAR C) or if you use a differnt * interrupt than INT0, you may have to define some of these. *//* #define USB_INTR_CFG            MCUCR *//* #define USB_INTR_CFG_SET        ((1 << ISC00) | (1 << ISC01)) *//* #define USB_INTR_CFG_CLR        0 *//* #define USB_INTR_ENABLE         GIMSK *//* #define USB_INTR_ENABLE_BIT     INT0 *//* #define USB_INTR_PENDING        GIFR *//* #define USB_INTR_PENDING_BIT    INTF0 *//* #define USB_INTR_VECTOR         SIG_INTERRUPT0 */#endif /* __usbconfig_h_included__ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区三区| 免费av成人在线| 欧美日韩卡一卡二| 色久综合一二码| 日韩精品一区第一页| 久久久综合网站| 国产999精品久久| 亚洲高清视频在线| 久久国产剧场电影| 亚洲影院在线观看| 亚洲欧美日韩国产成人精品影院| 久久精品人人做人人综合| 国产精品视频免费| 亚洲婷婷综合久久一本伊一区| 亚洲国产成人一区二区三区| 亚洲欧美一区二区三区国产精品| 亚洲最大成人综合| 青椒成人免费视频| 亚洲国产另类av| 中文一区在线播放| 亚洲精品一区二区三区精华液| 精品国产伦一区二区三区观看方式| 久久先锋资源网| 国产精品家庭影院| 蜜臀国产一区二区三区在线播放| 成人性生交大合| 成人午夜在线免费| 成a人片亚洲日本久久| 亚洲激情校园春色| 亚洲曰韩产成在线| 韩国理伦片一区二区三区在线播放| 激情深爱一区二区| 免费久久精品视频| 免费日本视频一区| 久久99精品国产麻豆婷婷| 久久久久久影视| 国产亚洲欧美日韩俺去了| 国产女主播在线一区二区| 91久久精品一区二区三区| 亚洲精品videosex极品| 国产精品77777| 日韩欧美国产成人一区二区| 日韩精品亚洲专区| 色琪琪一区二区三区亚洲区| 国产精品看片你懂得| 国产精品自拍毛片| 国产日本亚洲高清| 三级久久三级久久久| 韩国精品主播一区二区在线观看 | 免费观看在线综合| av午夜精品一区二区三区| 欧美成人精品1314www| 午夜av区久久| 欧美日韩精品综合在线| 欧美日韩国产免费一区二区| 亚洲精品日日夜夜| 欧美成人a∨高清免费观看| 91黄视频在线| 国产综合色视频| 九色综合狠狠综合久久| 国产精品国产三级国产三级人妇| 欧美一区二区三区的| 91蝌蚪国产九色| 国产成人精品免费| 麻豆久久一区二区| 亚洲成人免费观看| 亚洲三级在线免费观看| 欧美国产日本韩| 久久精品一区二区三区四区| 欧美大黄免费观看| 欧美日韩夫妻久久| 日本高清免费不卡视频| 成人精品国产一区二区4080| 国产在线国偷精品免费看| 日本伊人精品一区二区三区观看方式| 亚洲欧美日韩在线| 国产精品―色哟哟| 国产欧美在线观看一区| 日韩欧美123| 91精品国产一区二区人妖| 欧美日韩国产首页在线观看| 欧美日韩国产电影| 欧美酷刑日本凌虐凌虐| 欧美日韩亚洲另类| 精品视频一区二区不卡| 欧美日韩黄色影视| 在线91免费看| 欧美一区二区三区日韩视频| 欧美一区二区三区成人| 欧美大胆一级视频| 欧美成人综合网站| 26uuu色噜噜精品一区二区| 日韩欧美一二区| 精品久久久久香蕉网| 亚洲精品在线网站| 国产日韩av一区| 亚洲精品高清在线观看| 亚洲国产精品一区二区久久 | 日韩欧美一区二区久久婷婷| 精品国产一二三区| 精品国产在天天线2019| 日韩欧美一区二区不卡| 久久人人爽爽爽人久久久| 久久久久99精品国产片| 国产精品久久久久影院亚瑟| 亚洲三级久久久| 亚洲成a人v欧美综合天堂 | 91精品久久久久久久91蜜桃| 精品国产第一区二区三区观看体验| 精品国产乱码久久久久久1区2区| 国产午夜精品一区二区| 国产精品不卡在线| 亚洲成人自拍网| 麻豆国产欧美一区二区三区| 福利电影一区二区| 成人h精品动漫一区二区三区| 91在线视频在线| 在线成人av影院| 亚洲国产成人在线| 午夜不卡av免费| 国产91在线观看| 欧美三级视频在线| 欧美精品一区二区不卡| 中文字幕一区二区三区在线观看| 亚洲一区二区三区激情| 激情文学综合插| 在线观看欧美日本| 久久久久久久免费视频了| 亚洲精品免费在线| 九色综合狠狠综合久久| 91丨九色丨尤物| 精品久久国产97色综合| 亚洲日本青草视频在线怡红院 | 水蜜桃久久夜色精品一区的特点| 波波电影院一区二区三区| 91福利资源站| 久久女同互慰一区二区三区| 亚洲欧美色综合| 国产69精品久久久久777| 欧美日韩国产另类一区| 国产精品卡一卡二| 国产精一品亚洲二区在线视频| 久久久精品tv| 老司机精品视频线观看86| 精品人伦一区二区色婷婷| 欧美视频在线一区| 中文字幕不卡三区| 久久精品国产精品亚洲综合| 美脚の诱脚舐め脚责91 | 一本到三区不卡视频| 国产精品理伦片| 一本久久精品一区二区| 亚洲色图欧美激情| 色噜噜狠狠色综合欧洲selulu| 亚洲精品成人悠悠色影视| 欧美最猛性xxxxx直播| 夜夜夜精品看看| 成人综合在线观看| 国产一区二区视频在线| 美女一区二区久久| 一区二区免费视频| 亚洲激情在线播放| 麻豆一区二区在线| 国产丝袜在线精品| 97se亚洲国产综合自在线观| 亚洲三级在线看| 91精品久久久久久蜜臀| 日本不卡视频一二三区| 久久日一线二线三线suv| 成人网男人的天堂| 亚洲男人天堂一区| 欧美日韩另类国产亚洲欧美一级| 久久精品国产99国产| 国产日产欧产精品推荐色 | 一区在线观看免费| 欧美专区亚洲专区| 久久99精品久久久| 亚洲女人的天堂| 久久日韩精品一区二区五区| 91国内精品野花午夜精品| 丝袜国产日韩另类美女| www亚洲一区| 色婷婷av一区二区三区软件| 日韩国产精品91| 日韩av不卡一区二区| 秋霞成人午夜伦在线观看| 色综合久久六月婷婷中文字幕| 午夜久久久久久久久| 久久久久久久久久电影| 在线观看一区日韩| 国内外成人在线| 一区二区三区四区av| 制服丝袜在线91| kk眼镜猥琐国模调教系列一区二区| 亚洲成人一二三| 国产精品久久久久久久久动漫| 欧美日韩亚洲综合| 日韩福利电影在线| 懂色av一区二区三区免费观看| 99久久免费精品|