如何利用文件系统往U盘的TXT文档中写入AD采样值,而不仅仅是一串固定的字符?

2019-08-14 02:33发布

看网上分享出来的很多U盘,文件系统的历程里面,往文件里面写入数据,写入的都是不变的数据。例如
result = f_write(&file, "FatFS Write Demo www.armfly.com ", 34, &bw);中的"FatFS Write Demo www.armfly.com ";
而我现在需要将AD转换的结果写入文本文档中,试了一下午了,发现写入的是一堆乱码,不知道哪儿出了问题。下面是我的程序,麻烦各位大神帮忙看看:
static void CreateNewFile(void)
{
    FRESULT result;
    FATFS fs;
    FIL file;
    DIR DirInf;
    uint32_t bw;
    extern vu16 After_filter[M]; //用来存放求AD平均值之后的结果。
    u16 writeTextBuff;
    u16 bytesToWrite;
    u8 i;
  /* 挂载文件系统 */
result = f_mount(0, &fs); /* Mount a logical drive */
/* 打开根文件夹 */
result = f_opendir(&DirInf, "/"); /* 如果不带参数,则从当前目录开始 */
if (result != FR_OK)
{
    usb_printf("打开根目录失败 (%d) ", result);
    return;
}

/* 打开文件 */
result = f_open(&file, "test.txt", FA_CREATE_ALWAYS | FA_WRITE);

/* 写一串数据 */
for(i=0;i<M;i++)
{
    writeTextBuff =  After_filter;
    bytesToWrite = sizeof(writeTextBuff);
    result = f_write(&file, (const void *)writeTextBuff, bytesToWrite, &bw);
    if (result == FR_OK)
    {
        usb_printf("test.txt 文件写入成功 ");
    }
    else
    {
        usb_printf("test.txt 文件写入失败 ");
    }
}

// result = f_write(&file, "FatFS Write Demo www.armfly.com ", 34, &bw);
// if (result == FR_OK)
// {
// usb_printf("test.txt 文件写入成功 "); After_filter[M];
// }
// else
// {
// usb_printf("test.txt 文件写入失败 ");
// }

/* 关闭文件*/
f_close(&file);

/* 卸载文件系统 */
f_mount(0, NULL);
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
正点原子
1楼-- · 2019-08-14 05:03
sprintf,写入数组,然后将数组写入文件就可以了。
师兄,帮帮忙
2楼-- · 2019-08-14 06:17
原子哥,你看我这样可以不:
extern vu16 After_filter[M]; //用来存放求平均值之后的结果
FRESULT result;
char buffer[20];
u16 writeTextBuff;
u16 bytesToWrite;  
/* 写一串数据到该文件 */
for(i=0;i<M;i++)
{
writeTextBuff =  After_filter;
bytesToWrite = sizeof(writeTextBuff);   
sprintf(buffer,"%d",writeTextBuff);
result = f_write(&file,buffer, bytesToWrite, &bw);
}
正点原子
3楼-- · 2019-08-14 10:38
回复【3楼】师兄,帮帮忙:
---------------------------------
实际测试下
师兄,帮帮忙
4楼-- · 2019-08-14 16:07
 精彩回答 2  元偷偷看……
tan0327
5楼-- · 2019-08-14 17:39
师兄,我也在做AD采样将数据保存至SD卡,保存数据有乱码,能将你这部分代码贴出来,看看么?我读取也有问题。我邮箱1474360488@qq.com
谢谢师兄
tan0327
6楼-- · 2019-08-14 20:49
我存进去的是浮点数据,在液晶上看不到,但是在电脑上可以打开看到,但前面一部分是乱码

一周热门 更多>