www.pudn.com > usbcode.rar > D12.h


/*++ 
 
Module Name: 
 
         D12.h 
 
Abstract: 
 
         Header file related to D12 module 
 
Environment: 
 
        ICCAVR 6.29 
 
Revision History: 
 
        04/23/2004      chenchi   created 
 
--*/ 
/******************************************************************/ 
/*说明:因为D12是地址数据复用总线,规定 
       D12处理是奇地址为命令,偶地址为数据 
       0x7c01,0x7c00为所用的AT90S8515的片外SRAM*/ 
#define D12_COMMAND     (*(volatile char *)0x7c01) 
#define D12_DATA	(*(volatile char *)0x7c00) 
/*说明:AT90S8515的D口处理 
       PD0:RXD(UART接收引脚) 
       PD1:TXD(UART发送引脚) 
       PD2:INT0(外部中断0输入) 
       PD3:INT1(外部中断1输入) 
       PD5:OCIA(T/C1输出比较A匹配输出) 
       PD6:/WR(写) 
       PD7:/RD(读) 
*/ 
#define D12_int_n   (PIND & 0x04)//D12中断,用外部中断0输入 
#define csram asm("sts 0xfc01,R22");//将R22寄存器的值存储到0XFC01 
#define cwait asm("nop")//空操作 
#define cwait1 asm("nop");asm("nop")//双空操作 
 
void D12_ISR(void);//中断服务函数 
void Setup_control(void);//枚举控制函数 
void USB_submit(void);//控制端点提交函数 
void BULK_submit(void);//BULK端点提交函数 
void bus_reset(void);//总线重置 
void dma_eot(void);//Dma 操作结束 
 
/*传输结构体*/ 
typedef struct 
{ 
	unsigned char b[64];//传送缓冲数据区 
	unsigned int wrLength;//传送长度 
	const char *pp;//CONST数据 
	unsigned char *p;//一般数据 
	unsigned char p_p;//数据选择控制 
}TRANSMIT_STRUCT; 
extern TRANSMIT_STRUCT XmtBuff;