📄 atmelusbci.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 + -