⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 FAT32文件系统在51单片机上实现
💻 C
字号:
#include <stdio.h>
#include "..\Inc\AT8xC51SND1.h"
#include "..\Inc\GLOBAL.h"
#include "..\Inc\CHIPSOURCE.h"
#include "..\Inc\COMMON.h"
#include "..\Inc\IDEIO.h"
#include "..\Inc\FAT32.h"

void main(void)
{
	WORD i,j=0;
	char filename1[]={"MP3     "};

	P5=0;
	EA=1;
	InitUART();
	printf("IDE Init...");
	IDEInit();
	printf("ok\n");
	printf("%bd Drivers found!\n",IDE.TotalDevices);
	printf("Device 0 LBA: %ld\n",IDEDevice[0].TotalSectors);
	printf("Device 1 LBA: %ld\n",IDEDevice[1].TotalSectors);

	IDESetCurrentDevice(IDE_DEVICE_MASTER);

	printf("Ready\n");
	FAT32Init();
	i=FAT32MountPartition();
	printf("Mount Hard Disk Partition Table...ok\n");
	i=FAT32MountVolumeID(0);
	printf("\nMount Hard Disk Partition P%bd...ok\n",HDD.CurrentPartition);
	printf("Total Size:\t%ld bytes\nFree Size:\t%ld bytes\n",FAT32DiskSize(),FAT32DiskFreeSize());
	printf("\n\nRoot Directory\n");
	i=FAT32ListDirectory();
	FAT32ChangeDirectory(filename1);
	i=FAT32ListDirectory();
	
//	FAT32ChangeDirectory(filename2);
//	i=FAT32ListDirectory();
/*
	f2=FAT32OpenFile(filename1);
	if (f2==FAT32_MAX_FCB) {printf("fail to open file\n");}
	else
	{
		printf("open file:%s \t%ld \t%lx\n",FCB[f2].FileName,FCB[f2].Size,FCB[f2].FirstCluster);
		j=0;bb=0;
		while(aa=FAT32ReadFile(f2))
		{
	//		for(j=0;j<aa;j++)
	//			printf("%c",DiskBuffer[j]);
			j++;bb++;
			if (j==200) {j=0;printf(".");}
		}
		printf("\n%d sectors read\n",bb);
		FAT32CloseFile(f2);
	}

	f2=FAT32OpenFile(filename3);
	if (f2==FAT32_MAX_FCB) {printf("fail to open file\n");}
	else
	{
		printf("open file:%s \t%ld\n",FCB[f2].FileName,FCB[f2].Size);
		j=0;
		while(aa=FAT32ReadFile(f2))
		{
	//		for(j=0;j<aa;j++)
	//			printf("%c",DiskBuffer[j]);
			j++;
			printf(".");
		}
		printf("\n%d sectors read\n",j);
		FAT32CloseFile(f2);
	}
*/
	while(1);
	IDEReadSector(0);
	for(i=0;i<512;i++)
	{
		printf("%bx ",DiskBuffer[i]);
		j++;
		if (j==16) {printf("\n");j=0;}
	}
	
	while(1);
}

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -