高级会员

- 积分
- 549
- 金钱
- 549
- 注册时间
- 2013-6-18
- 在线时间
- 59 小时
|
没买原子哥的sd卡,想直接挂载外部flash。主要程序改造如下
disk_initialize(1);//初始化外部flash
// f_mount(0,fs[0]); //挂载SD卡
f_mount(1,fs[1]); //挂载FLASH.
while(exf_getfree("1:",&total,&free)) //得到外部flash的总容量和剩余容量
{
LCD_ShowString(60,150,200,16,16,"Fatfs Error!");
delay_ms(200);
LCD_Fill(60,150,240,150+16,WHITE);//清除显示
delay_ms(200);
LED0=!LED0;//DS0闪烁
}
res=f_mkdir("1:load");//这边出问题了,res返回值FR_DENIED,就是外部flash满
if(!res)
{
res=f_mkdir("1:load/num");
}
res=f_opendir(&dir,"1:load/num");
if(res==FR_OK)
{
// while(f_readdir(&dir,&fno))
// {
// if(!fno.fname[0])break;//if fil name is free
// printf("file name:%s\r\n",fno.fname);
// }
res=f_open(&file,"1:infomation.txt",FA_OPEN_ALWAYS|FA_READ|FA_WRITE);
if(res==FR_OK)
{
res=f_write(&file,buffer,sizeof(buffer),&bw);
if(res==FR_OK)
{
res=f_lseek(&file,(&file)->fsize);
{
if(!res){
res=f_write(&file,buffer,sizeof(buffer),&bw);
if(res==FR_OK)
{
f_printf(&file,"%d",12345678);
f_printf(&file,"%s","fuck!");
res=f_read(&file,buff,sizeof(buff),&br);
if(res==FR_OK)
{
printf("%s\r\n",buff);
}
}
}
}
}
}
f_close(&file);
}
lcd屏幕上外部flash总大小 显示5M 剩余0M flash应该有8M的啊?
res=f_mkdir("1:load");//这边出问题了,res返回值FR_DENIED,就是外部flash满
|
|