📄 led.c
字号:
#include "def.h"
#include "44b.h"
#include "utils.h"
typedef struct{
U8 name[11];
U8 attributes;
U16 startclus;
U16 dirID;
U32 filesize;
}DIR1;
void delay(void);
void ReadFAT(void);
void Readdir(void);
//*******************************
int Main()
{
U16 i,sel;
unsigned char filename[11],c;
U32 size;
rPCONE = 0x26568; //0->input, 1 2->TXD0 RXD0, 3 4->input, 5->led, 6->buzzer, 7->led, 8->CODECLK
rPDATE = 0x70;
rPUPE = 0x000; //disable all pull-up
rPCONC =0xfff4ff54; //8 input,9 output
rPUPC = 0x0000;
SystemClockInit();
SerialSwitch(0);
SerialChgBaud(115200);
puts("\n **************************************\n");
puts("* *\n");
puts("* Welcome to FAT !!! *\n");
puts("* zouzhihuang *\n");
puts("* 2006.11.1 *\n");
puts(" ***************************************\n");
NandFlashInit();
//NandFlashEarse(0);
delay();
//fatInit();
//dirInit();
while(1)
{
puts("\n******************************************");
puts("\n *Select you command: *\n");
puts("* 1---create a file *\n");
puts("* 2---Write a file *\n");
puts("* 3---Read a file *\n");
puts("* 4---Delete a file *\n");
puts("* 5---Show FAT *\n");
puts("* 6---Show Dir *\n");
puts("* 7---Clear *\n");
printf("\\>");
sel=Uart_GetIntNum_GJ();
printf("\nYour select is %d ",sel);
switch(sel)
{
case 1:
{
printf(" Create a file\n");
printf("Please input file name:\n");
printf("\\>");
for(i=0;i<11;i++)filename[i]='\0';
for(i=0;i<11;i++)
{
if((c=SerialRxChar())=='\r') {i=11;break;}
filename[i]=c; //Uart_Getchar_GJ();
printf("%c",filename[i]);
}
printf("\nPlease input file size:\n");
printf("\\>");
size=Uart_GetIntNum_GJ();
printf("\n");
CreateFile( filename,size);
break;
}
case 2:
{
printf(" Write a file \n");
printf("Please input file name:\n");
printf("\\>");
for(i=0;i<11;i++)
{
if((c=SerialRxChar())=='\r') {i=11;break;}
filename[i]=c; //Uart_Getchar_GJ();
printf("%c",filename[i]);
}
printf("\nPlease input file size:\n");
printf("\\>");
size=Uart_GetIntNum_GJ();
WriteFile( filename,size);
break;
}
case 3:
{
printf(" Read a file \n");
printf("Please input file name:\n");
printf("\\>");
for(i=0;i<11;i++)
{
if((c=SerialRxChar())=='\r') {i=11;break;}
filename[i]=c; //Uart_Getchar_GJ();
printf("%c",filename[i]);
}
printf("\nPlease input file size:\n");
printf("\\>");
size=Uart_GetIntNum_GJ();
printf("\n");
ReadFile( filename,size);
break;
}
case 4:
{
printf(" Delete a file \n");
printf("Please input file name:\n");
printf("\\>");
for(i=0;i<11;i++)
{
if((c=SerialRxChar())=='\r') {i=11;break;}
filename[i]=c; //Uart_Getchar_GJ();
printf("%c",filename[i]);
}
DeleteFile( filename);
break;
}
case 5:
printf(" Show FAT \n");
ReadFAT(); break;
case 6:
printf(" Show Dir \n");
Readdir(); break;
case 7:
{
printf(" Clear\n");
NandFlashEarse(0);
fatInit();
dirInit();
break;
}
}
}
return 0;
}
//******************************
void delay()
{
int i;
for(i=0;i<=40000;i++);
}
//****************************** //读FAT
void ReadFAT(void)
{
U16 fat1[256],i;
NandFlashRead(0,0,fat1);
printf("\nRead FAT: \n");
for(i=0;i<10;i++){
printf(" %d->(0x%4x)",i,fat1[i]);}
}
//******************************* //读dir
void Readdir()
{ U16 i,j;
DIR1 file1[16];
unsigned char a[512];
NandFlashRead(0,1,a);
u8toDir(a,file1);
printf("\nRead DIR: ");
printf("\n Dir Name startclus filesize ");
for(i=0;i<4;i++){
printf("\n File%d: ",i);
printf(" %s ",file1[i].name);
//printf(" attributes-><0x%x> ",file1[i].attributes);
printf(" 0x%x ",file1[i].startclus);
//printf(" dirID-><0x%x> ",file1[i].dirID);
printf(" %d ",file1[i].filesize);
}
}
//******************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -