⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbtiny.h

📁 This is a software implementation of the USB low-speed protocol for the Atmel ATtiny microcontrolle
💻 H
字号:
// ======================================================================// USBtiny Configuration//// Copyright 2006-2008 Dick Streefland//// This is free software, licensed under the terms of the GNU General// Public License as published by the Free Software Foundation.// ======================================================================// The D+ and D- USB signals should be connected to two pins of the same// I/O port. The following macros define the port letter and the input// bit numbers:#define	USBTINY_PORT			D#define	USBTINY_DPLUS			2#define	USBTINY_DMINUS			4// The D+ signal should be connected to an interrupt input to trigger an// interrupt at the start of a packet. When you use the same pin for the// D+ USB signal and the interrupt input, only two I/O pins are needed// for the USB interface. The following macro defines the interrupt// number:#define	USBTINY_INT			0// The power requirement of the USB device in mA, or 0 when the device// is not bus powered:#define	USBTINY_MAX_POWER		80// The USB vendor and device IDs. These values should be unique for// every distinct device. You can get your own vendor ID from the USB// Implementers Forum (www.usb.org) if you have a spare $1500 to kill.// Alternatively, you can buy a small range of device IDs from// www.voti.nl or www.mecanique.co.uk, or be naughty and use something// else, like for instance product ID 0x6666, which is registered as// "Prototype product Vendor ID".#define	USBTINY_VENDOR_ID		0x03eb	// IgorPlug-USB#define	USBTINY_DEVICE_ID		0x0002	// IgorPlug-USB// The version of the device as a 16-bit number: 256*major + minor.#define	USBTINY_DEVICE_VERSION		0x104// The following optional macros may be used as an identification of// your device. Undefine them when you run out of flash space.//#define	USBTINY_VENDOR_NAME		"Dick Streefland"#define	USBTINY_DEVICE_NAME		"USBtiny IR/LCD"#undef	USBTINY_SERIAL// Define the device class, subclass and protocol. Device class 0xff// is "vendor specific".#define	USBTINY_DEVICE_CLASS		0xff#define	USBTINY_DEVICE_SUBCLASS		0#define	USBTINY_DEVICE_PROTOCOL		0// Define the interface class, subclass and protocol. Interface class// 0xff is "vendor specific".#define	USBTINY_INTERFACE_CLASS		0xff#define	USBTINY_INTERFACE_SUBCLASS	0#define	USBTINY_INTERFACE_PROTOCOL	0// Normally, usb_setup() should write the reply of up to 8 bytes into the// packet buffer, and return the reply length. When this macro is defined// as 1, you have the option of returning 0xff instead. In that case, the// USB driver will call a function usb_in() to obtain the data to send// back to the host. This can be used to generate the data on-the-fly.#define	USBTINY_CALLBACK_IN		1// When this macro is defined as 0, OUT packets are simply ignored.// When defined as 1, the function usb_out() is called for OUT packets.// You need this option to send data from the host to the device in// a control transfer.#define	USBTINY_CALLBACK_OUT		1// When this macro is defined as 1, an optimized CRC function is used// that calculates the CRC about twice as fast as the standard version,// but at the expense of 30 bytes of additional flash memory.#define	USBTINY_FAST_CRC		1// Set the macro USBTINY_ENDPOINT to 1 to add an additional endpoint,// according to the values of the three other macros.#define	USBTINY_ENDPOINT		1#define	USBTINY_ENDPOINT_ADDRESS	0x81	// IN endpoint #1#define	USBTINY_ENDPOINT_TYPE		0x00	// control transfer type#define	USBTINY_ENDPOINT_INTERVAL	0	// ignored

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -