用stm32转存TF卡上的照片然后重命名写在TF卡上

2019-07-20 21:21发布

本帖最后由 勇哥二代 于 2016-7-13 09:47 编辑

int main(void)
{       
        u8 PicBuf[1024];
        u8 zhang[20];
        u8 zhangyong[20];
        u8 ret = 1;       
        u32                a,b=0,c=0;
  u8 capnumber=1;
        u8 sapnumber=0;
        ret = MSD_Init();
        SD_Card_Ready = ret;//ret=0 £» Ö¤Ã÷Ready
        rat=f_mount(0, &fs);//res=0 £» Ö¤Ã÷OK
while(1)
        {
                memset(zhang,0,20);
                memset(zhangyong,0,20);
               
                if (capnumber<20)
                   {
                       sprintf(zhang, "%0d.jpg", capnumber);
                                   capnumber++;  
                         }   
    else
                        {
                                  f_mount(0, NULL);
                                  return 0 ;
                  }                         
                         sapnumber=capnumber+19;
                         
                if (sapnumber<40)
                   {
                       sprintf(zhangyong, "%0d.jpg", sapnumber);
                         }          
                                          
                        rat=f_open(&fsrc,zhang, FA_OPEN_EXISTING | FA_READ);//res=0 £&#187; &#214;¤&#195;÷OK
                       
            res=f_open(&fdst,zhangyong, FA_CREATE_ALWAYS | FA_WRITE);
                         
         while(1)
           {       
                        rat=f_read(&fsrc,PicBuf,1023,&br);
                       
                        a=br;
                       
            if(a==1023)
                                
            {
                           res=f_write(&fdst,PicBuf,1023,&bw);
                           memset(PicBuf,0,1024);
                  }
       
            else
                  {
                           res=f_write(&fdst,PicBuf,a,&bw);
                           f_close(&fsrc);
                     f_close(&fdst);
                                 break;
                  }
               
          }       
  }


       
}
调试现象:TF卡上本来有20张图片,分别从1.JPG、2.JPG、直到20.JPG,现在我把着20张图片通过stm32,不断读入图片数据让后写在TF卡上,分别命名为21.jpg、22.JPG、直到40.JPG,现在调试出了些问题就是能新建这些文件,但是文件写不上数据,只是一些空的文件,但是缓冲区PicBuf能读到图片数据,就是写不进去,求大神指教,最近刚上路的新手,求各位大神指点!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。