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

📄 test.c

📁 CF卡FAT for avr单片机 AVR atmega128 使用fat文件
💻 C
字号:
#include <avr\io.h>
#include <stdlib.h>
#include <stdio.h>
#include "CF_FAT.h"

int usart_putchar(char c)
{
	if(c == '\n')
	usart_putchar('\r');
	loop_until_bit_is_set(UCSRA, UDRE);
	UDR = c;
	return 0;
}

int usart_getchar(void)
{
	loop_until_bit_is_set(UCSRA, RXC);
	return UDR;
}

void InitIO(void)
{
	UCSRA = 1 << UDRE;
	UCSRB = (1 << RXEN) | (1 << TXEN) | (1 << RXCIE);
	UBRRL = 103;	//9600bps at 16MHz
	UBRRH = 0;
	UCSRC = (1 << URSEL) | (1 << UCSZ1) | (1 << UCSZ0);
	fdevopen(usart_putchar, usart_getchar, 0);
}

int main(void)
{
	InitIO();
	sbi(MCUCR, SRE);

	FS_Initialize();

	printf("File System : ");
	if(FS_BPB->Type == FS_TYPE_FAT32)
		puts("FAT32");
	else if(FS_BPB->Type == FS_TYPE_FAT16)
		puts("FAT16");
	else if(FS_BPB->Type == FS_TYPE_FAT12)
		puts("FAT12");
	else
		puts("Other");

	puts("Change Dir to 'MYFILE~1\\TEXT'");
	FS_ChangeDir("MYFILE~1");
	FS_ChangeDir("Text");

	puts("Opening 'MP3DES~1.TXT'");
	FS_TFile *F = FS_Open("MP3DES~1.TXT");
	
	char buf[64], j, n;
	unsigned int i;

	for(i = 0; i < F->Length; i += 64)
	{
		n = FS_Read(F, buf, 64);
		for(j = 0; j < n; j ++)
			putchar(buf[j]);
	}

	FS_Close(F);
	
	puts("");
	
	FS_Destory();
}

⌨️ 快捷键说明

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