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

📄 def.h

📁 This is a software implementation of the USB low-speed protocol for the Atmel ATtiny microcontrolle
💻 H
字号:
// ======================================================================// Common definitions for the USB driver//// 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.// ======================================================================#ifdef __ASSEMBLER__#define	__SFR_OFFSET		0#endif#include <avr/io.h>#include "usbtiny.h"// Preprocessor magic#define	CAT2(a,b)		CAT2EXP(a, b)#define	CAT2EXP(a,b)		a ## b#define	CAT3(a,b,c)		CAT3EXP(a, b, c)#define	CAT3EXP(a,b,c)		a ## b ## c// I/O Ports#define	USB_IN			CAT2(PIN, USBTINY_PORT)#define	USB_OUT			CAT2(PORT, USBTINY_PORT)#define	USB_DDR			CAT2(DDR, USBTINY_PORT)// I/O bit masks#define	USB_MASK_DMINUS		(1 << (USBTINY_DMINUS))#define	USB_MASK_DPLUS		(1 << (USBTINY_DPLUS))#define	USB_MASK		(USB_MASK_DMINUS | USB_MASK_DPLUS)// Interrupt configuration#if	defined	EICRA#  define USB_INT_CONFIG	EICRA#else#  define USB_INT_CONFIG	MCUCR#endif#define	USB_INT_CONFIG_SET	((1 << CAT3(ISC,USBTINY_INT,1)) | (1 << CAT3(ISC,USBTINY_INT,0)))#if	defined SIG_INT0#  define USB_INT_VECTOR	CAT2(SIG_INT, USBTINY_INT)#else#  define USB_INT_VECTOR	CAT2(SIG_INTERRUPT, USBTINY_INT)#endif// Interrupt enable#if	defined	GIMSK#  define USB_INT_ENABLE	GIMSK#elif	defined	EIMSK#  define USB_INT_ENABLE	EIMSK#else#  define USB_INT_ENABLE	GICR#endif#define	USB_INT_ENABLE_BIT	CAT2(INT,USBTINY_INT)// Interrupt pending bit#if	defined	EIFR#  define USB_INT_PENDING	EIFR#else#  define USB_INT_PENDING	GIFR#endif#define	USB_INT_PENDING_BIT	CAT2(INTF,USBTINY_INT)#if	defined INF0 && ! defined INTF0#  define	INTF0		INF0	// fix for incorrect definition in iotn13.h#endif// USB PID values#define	USB_PID_SETUP		0x2d#define	USB_PID_OUT		0xe1#define	USB_PID_IN		0x69#define	USB_PID_DATA0		0xc3#define	USB_PID_DATA1		0x4b#define	USB_PID_ACK		0xd2#define	USB_PID_NAK		0x5a#define	USB_PID_STALL		0x1e// Various constants#define	USB_BUFSIZE		11	// PID + data + CRC

⌨️ 快捷键说明

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