پاسخ : کتابخانه ff.h
کسی می تونه این موارد را توضیح بده ؟ لینک سورس انگلیسی فارسی ؟
نوشته اصلی توسط hossein_tomari007
سلام
#include <mega32.h>
#include <alcd.h>
#include <ff.h>
#include <delay.h>
#include <stdio.h>
#define T1_OVF_FREQ 100
#define T1_PRESC 1024L
#define T1_INIT (0x10000L-(_MCU_CLOCK_FREQUENCY_/(T1_PRESC*T1_OVF_FREQ)))
unsigned char status;
FILINFO fno;
FRESULT res;
FATFS drive;
DIR dir;
char path[4]="MMC";
char Folder[32];
char fname[32];
interrupt [TIM1_OVF] void timer_comp_isr(void)
{
TCNT1H=T1_INIT>>8;
TCNT1L=T1_INIT&0xFF;
disk_timerproc();
}
DDRC=0X01;
void init(void)
{
lcd_clear();
if((res=f_mount(0,&drive))==FR_OK)
lcd_putsf("DRIVE SET IN 0");
else
lcd_putsf("DRIVE NOT SET");
delay_ms(5);
lcd_clear();
status=disk_initialize(0);
if (status & STA_NODISK)
lcd_puts("Card not present");
else if (status & STA_NOINIT)
lcd_puts("Disk init failed");
else if (status & STA_PROTECT)
lcd_puts("Card write\nprotected");
else
lcd_puts("Init OK");
delay_ms(10);
lcd_clear();
return;
}
void main(void)
{
PORTA=0xFF;
DDRA=0X00;
TCCR1A=0x00;
TCCR1B=(1<<CS12)|(1<<CS10);
TCNT1H=T1_INIT>>8;
TCNT1L=T1_INIT&0xFF;
TIMSK=1<<TOIE1;
#asm("sei")
lcd_init(16);
lcd_clear();
lcd_putsf("Welcome");
delay_ms(20);
lcd_clear();
init();
res = f_opendir(&dir, path);
if (res == FR_OK)
{
lcd_putsf("Ready...");
delay_ms(20);
lcd_clear();
}
res = f_readdir(&dir, &fno);
res = f_readdir(&dir, &fno);
sprintf(Folder,"%s",path);
while(1)
{
if (PINA.2==0)
{
res = f_readdir(&dir, &fno);
if (res == FR_OK)
{
lcd_clear();
sprintf(fname,"%s/%s", Folder, fno.fname);
lcd_puts(fname);
delay_ms(10);
}
}
if (PINA.0==0)
{
res = f_opendir(&dir, fname);
if (res == FR_OK)
{
sprintf(Folder,"%s",fno.fname);
lcd_clear();
lcd_putsf("Please Wait...");
delay_ms(20);
lcd_clear();
}
res = f_readdir(&dir, &fno);
res = f_readdir(&dir, &fno);
}
}
}
اصلا نمیدونم باید چی رو کجا اضافه کنم و این قابلیت رو بهش بدمWINAVR: Program: 15566 bytes (95.0% Full) (.text + .data + .bootloader) Data: 695 bytes (67.9% Full) (.data + .bss + .noinit) IAR: 59.37%= CODE memory 9 728 bytes of CODE memory (+ 80 range fill ) DATA memory = 94.72% 970 bytes of DATA memory (+ 3 absolute )
دیدگاه