本帖最后由 yangaichimantou 于 2016-9-14 16:18 编辑
LPC54102没有sdio接口,只能用spi方式,fatfs的移植基本上修改ffconf.h中的配置,改写一些接口函数,就可以。比较偷懒的都是用其他人写好的一些初始化函数,基本上都可以使用了。网上的教程也比较多。涉及到fatfs,分享一下,我自己写的关于如何自动收集图片,并自动分开分开路径的一个状态机写法。
考虑到lpc54102的性能,我打算收集显示,摄像头的图像时,间隔性的保存一些图片。
主要代码
char Pathdir[10]="0:/MPU";
char PathS[20]="data";
char PathE[5]=".dat";
char Path[20];
void Data_Collect_Exe()
{
switch(state_flag)
{
case 1: //预处理状态
{
res=f_open(file,Path,FA_READ|FA_WRITE|FA_OPEN_ALWAYS);//设置文件
numOfPage=0;//
capture_num=0;//
state_flag=2;//进入状态2
break;
}
case 2: //
{
Data_collect();
/*
*/
pointer=numOfGroup*numOfPage*4;//设置指针位置
f_lseek(file,pointer);//
f_write(file,Data_collect,numOfGroup*4,&Number);
numOfPage++;
if(numOfPage>495)
{
f_close(file);
File_number++;
sprintf(FIlE_NUMBER,"%d",File_number);//设置路径号,这里关键是转化为字符串格式
sprintf((char *)Path,"%s/%s%s%s",Pathdir,PathS,FIlE_NUMBER,PathE);//自动定义出新的路径
state_flag=1;
}
break;
}
case 3://
{
f_close(file);//保存文件,3的进入口在其他中断函数中
numOfPage=0;
state_flag=4;//实际上跳出状态机。
break;
}
default: break;
}
}
完整的文件,等这个项目,做完了,分享给大家。
当然,最大的困难还是摄像头图像显示的实时性和保存视频上。
|