f_read连续读的问题,有点不解

2019-07-20 14:16发布

开发板是探索者,实验40,汉字显示实验里面的SD卡字库更新到flash有点不解,fontupd.c文件下的u8 updata_fontx(u16 x,u16 y,u8 size,u8 *fxpath,u8 fx)函数里这一段有点不解
                while(res==FR_OK)
                {
                         res=f_read(fftemp,tempbuf,4096,(UINT *)&bread);               
                        if(res!=FR_OK)break;                                                       
                        W25QXX_Write(tempbuf,offx+flashaddr,4096);               
                          offx+=bread;          
                        fupd_prog(x,y,size,fftemp->fsize,offx);                                
                        if(bread!=4096)break;                                                       
                 }        

f_read读取了第一次的4096字节,然后25q128再写入,然后让offx变量存储地址的偏移,没读完,然后继续循环下去,又读4096,这里根本没有写读地址的偏移,为啥读取的就是下一个4096字节呢?我只看到spi flash写地址的偏移,求解
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。