初级会员

- 积分
- 62
- 金钱
- 62
- 注册时间
- 2015-1-18
- 在线时间
- 6 小时
|
5金钱
运行程序时第一遍正常。从学习板上拔下sd卡插到电脑上。txt里显示的也是welcome welcome welcome welcome 预期的值。再插回学习班
实验。插回电脑txt里就都是乱码。。。。。。求解。帮帮忙啊。各位大神。
FIL fnew; /* file objects */
FATFS fs; /* Work area (file system object) for logical drives */
FRESULT res;
UINT br, bw; /* File R/W count */
BYTE buffer[4096]={0}; /* file copy buffer */
BYTE textFileBuffer[]={"welcome "};
int main(void)
{u8 i=5;
while(i--)//循环5次( 打开 存welcome 关闭)
{
f_mount(0,&fs);//注册盘符
res = f_open(&fnew, "0:newfile.txt", FA_OPEN_ALWAYS | FA_WRITE );//打开文件newfile.txt
if ( res == FR_OK )//返回正确下一步
{
f_lseek(&fnew,f_size(&fnew));//读写起始位置
res = f_write(&fnew, textFileBuffer, sizeof(textFileBuffer), &bw);//开始从f_size(&fnew)位置写
f_close(&fnew); //关 闭文件
}
printf("\r\n %d ", bw);
res = f_open(&fnew, "0:newfile.txt", FA_OPEN_EXISTING | FA_READ); //在已存在只读方式打开
f_lseek(&fnew,0);//读写起始位置
res = f_read(&fnew, buffer, sizeof(buffer), &br); //开始读
printf("\r\n %d ", br);
printf("\r\n %s ", buffer);
f_close(&fnew); //关闭文件
f_mount(0, NULL);//注销
}
|
最佳答案
查看完整内容[请看2#楼]
回复【2楼】正点原子:
---------------------------------
又好了。真是无解。谢谢
|