我使用文件系统,定义数组存储待写入和待读出文件的数据,数组长度超过300在读写函数中第一个参数文件指针就无法正常处理,所有的值都为0.请问是内存分配的问题还是打开文件函数的问题?
修改代码部分
int main(void)
{
u32 total,free;
u8 t=0;
u8 res=0;
u16 cnt;
FIL fil;
FRESULT resp;
UINT bww;
u8 buf[150];
u16 buf2[150];
resp=f_open(&fil,"0:/message.txt",FA_CREATE_ALWAYS|FA_WRITE);
f_write(&fil,"alientek test",150,&bww);
f_close(&fil);
resp=f_open(&fil,"0:/message.txt",FA_READ);
f_read(&fil,buf2,150,&bww);
f_close(&fil);
//
while(1)
{
// LCD_Clear(buf);
//resp=f_open(&fil,"0:/blue.BMP",FA_READ);
//f_read(&fil,buf,16384,&bww);
//f_close(&fil);
//
//displayPIC(buf);
t++;
delay_ms(200);
LED0=!LED0;
}
}
以上是流程部分代码。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
FRESULT resp;
UINT bww;
u8 buf[150];
u16 buf2[150];
大数组,放全局变量!!!
一周热门 更多>