新手上路
- 积分
- 47
- 金钱
- 47
- 注册时间
- 2013-8-4
- 在线时间
- 3 小时
|
发表于 2017-7-10 10:31:48
|
显示全部楼层
楼主,我写成这样也能行,不知道这样做对不对,如果有人按楼主的方式出错的,像12楼一样的,可以按下面我做的这样。
int main(void)
{
u32 total,free;
u8 t=0;
char *b="f.txt";
char *btbuf="qwertyuiopasdfghjklzxcvbnm";
FIL f_txt;
FRESULT res;
delay_init();
NVIC_Configuration();
uart_init(9600);
LED_Init();
LCD_Init();
KEY_Init();
exfuns_init();
usmart_dev.init(72);
mem_init(SRAMIN);
SD_Initialize();
f_mount(0,*fs);
res=f_mkdir("0 ATA");
res=f_open(&f_txt,(const TCHAR*)b,FA_OPEN_ALWAYS | FA_WRITE);
f_lseek(&f_txt,0);
f_write(&f_txt,btbuf,strlen(btbuf),(UINT*)&br);
f_close(&f_txt);
POINT_COLOR=RED;//éèÖÃ×ÖìåÎaoìé«
LCD_ShowString(60,50,200,16,16,"WarShip STM32");
LCD_ShowString(60,70,200,16,16,"FATFS TEST");
LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(60,110,200,16,16,"Use USMART for test");
LCD_ShowString(60,130,200,16,16,"2012/9/18");
while(SD_Initialize()) //¼ì2aSD¿¨
{
LCD_ShowString(60,150,200,16,16,"SD Card Error!");
delay_ms(200);
LCD_Fill(60,150,240,150+16,WHITE);//Çå3yÏÔê¾
delay_ms(200);
LED0=!LED0;//DS0éá˸
}
exfuns_init(); //ÎafatfsÏà1رäá¿éêÇëÄú′æ
f_mount(0,fs[0]); //1òÔØSD¿¨
f_mount(1,fs[1]); //1òÔØFLASH.
while(exf_getfree("0",&total,&free)) //μÃμ½SD¿¨μÄ×üèYá¿oíê£óàèYá¿
{
LCD_ShowString(60,150,200,16,16,"Fatfs Error!");
delay_ms(200);
LCD_Fill(60,150,240,150+16,WHITE);//Çå3yÏÔê¾
delay_ms(200);
LED0=!LED0;//DS0éá˸
}
POINT_COLOR=BLUE;//éèÖÃ×ÖìåÎaà¶é«
LCD_ShowString(60,150,200,16,16,"FATFS OK!");
LCD_ShowString(60,170,200,16,16,"SD Total Size: MB");
LCD_ShowString(60,190,200,16,16,"SD Free Size: MB");
LCD_ShowNum(172,170,total>>10,5,16); //ÏÔê¾SD¿¨×üèYá¿ MB
LCD_ShowNum(172,190,free>>10,5,16); //ÏÔê¾SD¿¨ê£óàèYá¿ MB
while(1)
{
t++;
delay_ms(200);
LED0=!LED0;
}
} |
|