📄 udisk_app.c
字号:
/****************************************************************************
*****************************************************************************/
#include "usb.h"
#include "config.h"
extern void memset(void *s, const char ch, int n) ;
extern void memcpy(void *s1, const void *s2, int n) ;
extern int strlen(const char *s) ;
extern char SerialRxKey( void ) ;
/*USB*/
EP_CONTROL g_epctl;
DEVICE_REQUEST g_usbrequest;
ARMUSBFLAGS bUSBFlags;
CONTROL_XFER ControlData;
U8 Ep1Buf[EP1_PACKET_SIZE];
U8 Ep2Buf[EP2_PACKET_SIZE];
volatile U8 Ep1Len;
volatile U8 Ep2Len;
volatile U16 intcount;
volatile U16 isr;
volatile U8 irqcount;
U8 g_UsbConFlags[10];
int Udisk_To_PC(void)
{
printf("Udisk connect to PC\n");
g_NFBufAddr = 0xffffffff; //初始化全局变量
memset(g_NFBuf,0,16384);
memset(CacheBuf1,0,NFPAGESIZE * 2);
memset(CacheBuf2,0,NFPAGESIZE * 2);
TsFsInit(0); //检测文件系统,决定是否格式化磁盘
if( CheckUsbLink() )
{
g_NFBufAddr = 0xffffffff; //初始化全局变量
memset(g_NFBuf,0,16384);
memset(CacheBuf1,0,NFPAGESIZE * 2);
memset(CacheBuf2,0,NFPAGESIZE * 2);
memset(g_UsbConFlags,0,10);
intcount =0;
USBInit();
printf("USB ID = 0x%4x\n",D12_ReadChipID());
Delay(0);
printf( "Press ESC key to exit!\n" ) ;
while( (SerialRxKey()!=ESC_KEY) && (g_UsbConFlags[7] != 'x') )
{
if(!(rPDATG&0x01))
Usb_irq();
if(g_epctl.request)
UsbOnCmd();
if ( 0xff != g_epctl.CbwCmd )
UsbmsService();
}
Usb_Stop();
printf("Exit USBDISK Program!\n") ;
return 1 ;
}
printf("Error! USB is not connected!\n") ;
return 0 ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -