char buf[480]={0};
u32 js=0;
while(1)
{
ress = f_open(&file, (const TCHAR*)menu,FA_OPEN_EXISTING|FA_READ );
if ( ress == FR_OK )
{
ress = f_lseek(&file,js*sizeof(buf));
ress=f_read(&file,buf,sizeof(buf),&br);
if ( ress || br==0)
{
js=0;
ress=f_read(&file,buf,sizeof(buf),&br);
}
f_close(&file);
printf("%s ",buf);
js++;
}
大家好,我想一段一段地读取SD卡里面的数据,每次读480个字节,用f_lseek偏移指向要读取的下一段,读完从头开始。目前的问题是当js=116时,程序就卡死了,将js设置为U16时,js=58就卡死了,116*480是55680,f_lseek里面的第二个参数是unsigned long型,不至于溢出啊,程序哪里出错了呢,请大家指点一下
一周热门 更多>