打印

AD采样以后存储转换的困惑,纠结ing。。。

[复制链接]
204|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小蘭|  楼主 | 2019-11-22 18:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
芯片用的是F103VE,MDK环境编写。基本用的都是库函数,ADC双模式采样以后,直接TFT显示已可行,现在想把采样的数据存起来,然后写入SD卡。先说说我现在的方法如下:

float ADC1_ConvertedValueLocal;   这个是AD采样值已经转换成电压值了,每次都由DMA传过来。

float ADC1_savedate1[512];我开一个512的浮点型数组,每次TFT显示的时候顺便存进数组里,当n(计数值到了512),开始调用FATFS文件系统的写函数。
   int Writetxt_to_sd (void)
{   
    f_mount(0, &myfs[0]);
    myres = f_open( &myfsrc , "0:/date1.txt", FA_CREATE_NEW | FA_WRITE);   
    if ( myres == FR_OK )
    {         
        myres = f_write(&myfsrc, ADC1_savedate1,sizeof(ADC1_savedate1), &mybr);
        f_close(&myfsrc);        
        return 0;      
    }   
    else if ( myres == FR_EXIST )
    {
        return FR_EXIST;         
    }   
    else
    {
        return -1;
    }   
}


问题就在这个 f_write函数例程中,都是char或者BYTE(unsigned char)类型,我现在换成浮点数组SD最终读出的乱码,然后长度也不对。
有熟悉FATFS文件系统的大大指点下么 ,怎么写浮点类型数据到SD卡 ,能保存成TXT或者CSV格式就行。
因为要转成TXT文件,我估摸还是要转下格式,那怎么把比较好的方法把浮点数据存到字符数组里。谢谢 急

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

451

主题

463

帖子

1

粉丝