www.pudn.com > USBdiskRW.rar > D12OP.C


#include "def.h" 
#include "D12Def.h" 
#include "utils.h" 
 
void D12SetEpStat(U8 Ep,U8 Stat) 
{ 
	D12Cmd = Ep+0x40;	 
	D12Dat = Stat; 
} 
 
void D12SetAddr(U8 Addr) 
{ 
	D12Cmd = 0xd0; 
	D12Dat = Addr; 
} 
 
void D12SetEp(U8 Val) 
{ 
	D12Cmd = 0xd8; 
	D12Dat = Val; 
} 
 
void D12SetDma(U8 Dma) 
{ 
	D12Cmd = 0xfb; 
	D12Dat = Dma; 
} 
 
void D12SetMode(U8 Val1, U8 Val2) 
{ 
	D12Cmd = 0xf3; 
	D12Dat = Val1; 
	D12Dat = Val2; 
} 
 
void D12SendResume() 
{ 
	D12Cmd = 0xf6; 
} 
 
void D12AckEp(U8 Ep) 
{ 
	D12Cmd = Ep; 
	D12Cmd = 0xf1; 
	if(!Ep) 
		D12Cmd = 0xf2;		 
} 
 
U32 D12RdChipId() 
{ 
	U32 tmp; 
	 
	D12Cmd = 0xfd; 
	tmp = D12Dat; 
	tmp = tmp<<8|D12Dat;		 
	return tmp;	 
} 
 
U8 D12GetDma() 
{ 
	D12Cmd = 0xfb; 
	return D12Cmd; 
} 
 
U8 D12RdEp(U8 Ep,U8 buf[],U8 cnt) 
{ 
	U8 tmp; 
	 
	D12SelEp(Ep); 
	if(D12Cmd&1) 
	{ 
		D12Cmd = 0xf0; 
		tmp = D12Cmd; 
		tmp = D12Cmd; 
		if(tmp