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

📄 atmelusbci.h

📁 这个是一个完整的MP3项目
💻 H
字号:
/*
* Copyright (c) 2004,北京博创兴业科技有限公司
* All rights reserved.
* 
* 文件名称:atmelusbci.h
* 文件标识:atmelusbci
* 摘    要:USB操作相应寄存器定义
* 
* 当前版本:2.0
* 作    者:Kent
* 完成日期:2004年5月20日
*
* 取代版本:1.1 
* 原作者  :Frank
* 完成日期:2003年8月10日
*/
//bit define of the USB Related Register
////USB Define
//sfr USBCON  = 0xBC;//USB Global Control Register
#define USBE	(0x1 << 7)
#define CONFG	(0x1 << 1)
#define FADDEN	(0x1)
//sfr USBADDR = 0xC6;//USB Address Register
#define FEN		(0x1 << 7)
#define ADD6	(0x1 << 6)
#define ADD5	(0x1 << 5)
#define ADD4	(0x1 << 4)
#define ADD3	(0x1 << 3)
#define ADD2	(0x1 << 2)
#define ADD1	(0x1 << 1)
#define ADD0	(0x1 << 0)

//sfr USBINT  = 0xBD;//USB Global Interrupt Register
#define WUPCPU	(0x1 << 5)
#define EORINT	(0x1 << 4)
#define SOFINT	(0x1 << 3)
#define SPINT	(0x1 << 0)

//sfr USBIEN  = 0xBE;//USB Global Interrupt Enable Register
#define EWUPCPU	(0x1 << 5)
#define EEOFINT	(0x1 << 4)
#define ESOFINT	(0x1 << 3)
#define ESPINT	(0x1 << 0)

//sfr UEPNUM  = 0xC7;//USB Endpoint Number
#define EPNUM1	(0x1 << 1)
#define EPNUM0	(0x1 << 0)

//sfr UEPCONX = 0xD4;//USB Endpoint X Control Register
#define EPEN	(0x1 << 7)
#define NAKIEN	(0x1 << 6)
#define NAKOUT	(0x1 << 5)
#define NAKIN	(0x1 << 4)
#define DTGL	(0x1 << 3)
#define EPDIR	(0x1 << 2)


#define EPTYPE1	(0x1 << 1)
#define EPTYPE0	(0x1 << 0)

#define ControlEp	(0x0)
#define IsochEp	(0x1)
#define BulkEp	(0x2)
#define IntEp	(0x3)
//sfr UEPSTAX = 0xCE;//USB Endpoint X Status and Control Register
#define DIR		(0x1 << 7)
#define RXOUTB1	(0x1 << 6)
#define STALLRQ	(0x1 << 5)
#define TXRDY	(0x1 << 4)
#define STLCRC	(0x1 << 3)
#define RXSETUP	(0x1 << 2)
#define RXOUTB0	(0x1 << 1)
#define TXCMP	(0x1 << 0)

//sfr UEPRST  = 0xD5;//USB Endpoint FIFO Reset Register
#define EP2RST	(0x1 << 2)
#define EP1RST	(0x1 << 1)
#define EP0RST	(0x1 << 0)

//sfr UEPINT  = 0xF8;//USB Endpoint Interrupt Register
#define EP2INT	(0x1 << 2)
#define EP1INT	(0x1 << 1)
#define EP0INT	(0x1 << 0)

//sfr UEPIEN  = 0xC2;//USB Endpoint Interrupt Enable Register
#define EP2INTE	(0x1 << 2)
#define EP1INTE	(0x1 << 1)
#define EP0INTE	(0x1 << 0)

//sfr UEPDATX = 0xCF;//USB Endpoint X FIFOData Register

//sfr UBYCTX  = 0xE2;//USB Endpoint X Byte Count Register

//sfr UFNUML  = 0xBA;//USB Frame Number Low Register

//sfr UFNUMH  = 0xBB;//USB Frame Number High Register
#define CRCOK	(0x1 << 5)
#define CRCERR	(0x1 << 4)

//sfr USBCLK  = 0xEA;//USB Clock Divider Register

//PLL Control Register
//sfr CKCON   = 0x8F;
#define X2		(0x1)
//sfr PLLCON  = 0xE9;//7 - 6 R1:0PLL Least Significant Bits R Divider
//#define PLLRES	(0x1 << 3)
//#define PLLEN	(0x1 << 1)

//sfr PLLRDIV = 0xEF;//PLL Most Significant Bits R Divider

//sfr PLLNDIV = 0xEE;//PLL N Divider


////end of USB Define


//#define OSCclk 12
int AtmelUSBInit(unsigned char NDIV, unsigned int RDIV, unsigned char USBCD);
void EpEnable(void);

⌨️ 快捷键说明

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