#stm32 为什么SD卡位置够缺无法再f_write数据进去?

操作写入读取的部分代码如下

FIL mf; 
FATFS fs;  
UINT brr;
u16 fatbuf[512][24]={0};

//自定义 20种方法
volatile u16 custom[20][24]={0};  //[20组自定义][0-5步骤 6-11时间 12-17温度 18-23剂量]

//自定义 缓冲数组 20种方法
volatile u16 custom_buffer[20][24]={0};  //[20组自定义][0-5步骤 6-11时间 12-17温度 18-23剂量]

//-------------写入SD卡数据----------------//
void BufferSave(void)    //储存缓冲区的值到SD卡
{
    //保存步骤
    CardSave(custom_buffer[Page][0],Page+1,0);
    CardSave(custom_buffer[Page][1],Page+1,1);
    CardSave(custom_buffer[Page][2],Page+1,2);
    CardSave(custom_buffer[Page][3],Page+1,3);
    CardSave(custom_buffer[Page][4],Page+1,4);
    CardSave(custom_buffer[Page][5],Page+1,5);

    //保存时间
    CardSave(custom_buffer[Page][6],Page+1,6);
    CardSave(custom_buffer[Page][7],Page+1,7);
    CardSave(custom_buffer[Page][8],Page+1,8);
    CardSave(custom_buffer[Page][9],Page+1,9);
    CardSave(custom_buffer[Page][10],Page+1,10);
    CardSave(custom_buffer[Page][11],Page+1,11);
    
    //保存温度
    CardSave(custom_buffer[Page][12],Page+1,12);
    CardSave(custom_buffer[Page][13],Page+1,13);
    CardSave(custom_buffer[Page][14],Page+1,14);
    CardSave(custom_buffer[Page][15],Page+1,15);
    CardSave(custom_buffer[Page][16],Page+1,16);
    CardSave(custom_buffer[Page][17],Page+1,17);
    
    //保存剂量
    CardSave(custom_buffer[Page][18],Page+1,18);
    CardSave(custom_buffer[Page][19],Page+1,19);
    CardSave(custom_buffer[Page][20],Page+1,20);
    CardSave(custom_buffer[Page][21],Page+1,21);
    CardSave(custom_buffer[Page][22],Page+1,22);
    CardSave(custom_buffer[Page][23],Page+1,23);
}
//-------------写入SD卡数据----------------//
//-------------读取SD卡数据----------------//
void ReadPara(void)
{
    
    f_mount(&fs,"0:",1);                     //挂载SD卡 
    f_open(&mf,"0:/pre.txt",FA_READ);  //0:/LICENSE.txt
    f_read(&mf, fatbuf,512, &brr);
    
    channel_WastePump=fatbuf[0][0]; //读取端口值
    channel_AcidPump=fatbuf[0][1]; //读取端口值
    channel_WaterPump=fatbuf[0][2]; //读取端口值
    channel_Blower=fatbuf[0][3]; //读取端口值
    
    
    //读取自定义
    //步骤
    custom[Page][0]=fatbuf[Page+1][0];
    custom[Page][1]=fatbuf[Page+1][1]; 
    custom[Page][2]=fatbuf[Page+1][2]; 
    custom[Page][3]=fatbuf[Page+1][3]; 
    custom[Page][4]=fatbuf[Page+1][4]; 
    custom[Page][5]=fatbuf[Page+1][5]; 
    
    //时间
    custom[Page][6]=fatbuf[Page+1][6];
    custom[Page][7]=fatbuf[Page+1][7];
    custom[Page][8]=fatbuf[Page+1][8];
    custom[Page][9]=fatbuf[Page+1][9];
    custom[Page][10]=fatbuf[Page+1][10];
    custom[Page][11]=fatbuf[Page+1][11];
    
    //保存温度
    custom[Page][12]=fatbuf[Page+1][12];
    custom[Page][13]=fatbuf[Page+1][13];
    custom[Page][14]=fatbuf[Page+1][14];
    custom[Page][15]=fatbuf[Page+1][15];
    custom[Page][16]=fatbuf[Page+1][16];
    custom[Page][17]=fatbuf[Page+1][17];
    
    //保存剂量
    custom[Page][18]=fatbuf[Page+1][18];
    custom[Page][19]=fatbuf[Page+1][19];
    custom[Page][20]=fatbuf[Page+1][20];
    custom[Page][21]=fatbuf[Page+1][21];
    custom[Page][22]=fatbuf[Page+1][22];
    custom[Page][23]=fatbuf[Page+1][23];
    
    f_close(&mf);
    
}
//-------------读取SD卡数据----------------//

SD卡是16G的卡,然后读取到fatbuf[11][17]之后就开始没办法写入进去了,怎么读取都是0 Page是一个页码的变量 取值范围是0-20 希望有大佬帮一下忙 本人对fatfs文件系统还不是特别懂

已解决此问题,有需要了解的小伙伴可以看我主页的文章

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。