📄 udisc.c
字号:
/////////////////////////////////////
#include "config.h"
FLAGS bFlags;
extern unsigned char DBUF[BUFFER_LENGTH];
unsigned char usector;
extern unsigned long DirStartCluster32;
extern unsigned long DirStartCluster;
extern SYS_INFO_BLOCK DeviceInfo;
unsigned char DataBuf[BUFFER_LENGTH];
extern FILE_INFO ThisFile;
/////////////////////////////////////////////////
//void play_Udisc();
void main(void)
{
int temp,i;
unsigned long time_count;
bFlags.bits.bUartInDone=0;
SL811_Init();
DirStartCluster32 = 0;
DirStartCluster = 0;
for (i=0;i<64;i++)
DBUF[i] = 0;
while(TRUE)
{
time_count++;
if (time_count>10000)
{
time_count = 0;
check_usb();
}
if(bFlags.bits.SLAVE_FOUND)
{
bFlags.bits.SLAVE_FOUND=FALSE;
DelayMs(20);
if(EnumUsbDev(1)) // enumerate USB device, assign USB address = #1
{
bFlags.bits.SLAVE_ENUMERATED = TRUE; // Set slave USB device enumerated flag
DirStartCluster32 = 0;
DirStartCluster = 0;
}
}
if(bFlags.bits.SLAVE_REMOVED)
{
bFlags.bits.SLAVE_REMOVED=FALSE;
bFlags.bits.SLAVE_ENUMERATED = FALSE;
bFlags.bits.SLAVE_IS_ATTACHED = FALSE;
}
if(bFlags.bits.bMassDevice)
{
bFlags.bits.bMassDevice=FALSE;
DelayMs(50);
if(EnumMassDev())
{
bFlags.bits.SLAVE_IS_ATTACHED = TRUE;
}
else{
bFlags.bits.SLAVE_IS_ATTACHED = FALSE;
temp=SL811Read(IntStatus);
if(!(temp & 0x40)) bFlags.bits.SLAVE_FOUND=TRUE;
}
}
if(bFlags.bits.SLAVE_IS_ATTACHED)
{
CreateFile("demo1234567890.txt",0x20);
for (i=0;i<100;i++)
{
DataBuf[i*10+0]='U';
DataBuf[i*10+1]=' ';
DataBuf[i*10+2]='D';
DataBuf[i*10+3]='I';
DataBuf[i*10+4]='S';
DataBuf[i*10+5]='K';
DataBuf[i*10+6]=' ';
DataBuf[i*10+7]='!';
DataBuf[i*10+8]= 13;
DataBuf[i*10+9]= 10;
}
while(1)
{
SetFilePointer(ThisFile.LengthInByte);
WriteFile(1000,DataBuf);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -