标题:
stm32f407开发板综合实验问题请教
[打印本页]
作者:
GARFILELI
时间:
2019-5-11 23:44
标题:
stm32f407开发板综合实验问题请教
407的开发板综合实验在主程序死循环前面对文件系统的检测是通过以下代码实现的吗?
//W25Q128检测,如果不存在文件系统,则先创建.
temp=0;
do
{
temp++;
res=exf_getfree("1:",&dtsize,&dfsize);//得到FLASH剩余容量和总容量
delay_ms(200);
}while(res&&temp<20);//连续检测20次
if(res==0X0D)//文件系统不存在
{
LCD_ShowString(5,ypos+fsize*j,lcddev.width,lcddev.height,fsize, "Flash Disk Formatting..."); //格式化FLASH
res=f_mkfs("1:",1,4096);//格式化FLASH,1,盘符;1,不需要引导区,8个扇区为1个簇
if(res==0)
{
f_setlabel((const TCHAR *)"1:ALIENTEK"); //设置Flash磁盘的名字为:ALIENTEK
LCD_ShowString(5+okoffset,ypos+fsize*j++,lcddev.width,lcddev.height,fsize, "OK");//标志格式化成功
res=exf_getfree("1:",&dtsize,&dfsize);//重新获取容量
}
}
if(res==0)//得到FLASH卡剩余容量和总容量
{
gui_phy.memdevflag|=1<<1; //设置SPI FLASH在位.
LCD_ShowString(5,ypos+fsize*j,lcddev.width,lcddev.height,fsize, "Flash Disk: KB");//FATFS检测
temp=dtsize;
}else system_error_show(5,ypos+fsize*(j+1),"Flash Fat Error!",fsize); //flash 文件系统错误
在我的项目里面(板子是新制作的),开始挂载外部flash时res = f_mount(fs[1],"1:",1); 返回的res值为0x0D,然后格式化flash,给磁盘命名:
res=f_mkfs("1:",1,4096);
f_setlabel((const TCHAR *)"1:ALIENTEK");
再重新获取容量res=exf_getfree("1:",&dtsize,&dfsize);返回的值是0x0c,而不是0,请问这是什么原因?
新作的板子要更新文件系统应该怎么做?是要挂载U盘,增加U盘的读写程序能后才能更新吗?
6,ATKQR(二维码识别库).rar
2019-5-11 23:44 上传
点击文件名下载附件
231.46 KB, 下载次数: 4
二维码
作者:
czhaii
时间:
2020-2-5 19:06
我把原子STM32miniV3 综合实验例程
改到STM32mini板,也出现这个提示。
STM32miniV3用的是W25Q64, STM32mini用的是W25Q16.
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1