操作写入读取的部分代码如下
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文件系统还不是特别懂