从ADC读取数据写入SD卡

2019-07-20 01:19发布

为什么一直重复在写第一次读取的数据呢?不会写新读到的数据?while(1)
        {
         ADC_Vol =(float) ADC_ConvertedValue/4096*(float)3.3; // 读取转换的AD值
        printf(" The current AD value = %d ", ADC_ConvertedValue);
        printf(" The current AD value = %f V ",ADC_Vol);     
        Delay(0x8fffff);  
                  
                  sprintf(dataTemp, "%.3f ",ADC_Vol);  // 将 ADC_Vol 以字符串的形式,写入到字符串数组dataTemp中
                   res = f_open(&fdst,"0:/Data4.txt", FA_WRITE | FA_OPEN_ALWAYS);//以写和追加的方式打开文件
                  if ( res == FR_OK )
                         {
                                        f_lseek(&fdst, f_size(&fdst)); //将文件指针移动到文件末尾
                                        res = f_write(&fdst, &dataTemp, sizeof(dataTemp), &bw); // 将缓冲区的数据写到文件中,将字符串数组dataTemp写入SD卡
                                        printf( " 数据写入成功 " );   
                                        f_close(&fdst);   //关闭文件   
                                }                       
          
               
                t++;
                delay_ms(200);                                           
                LED0_Toggle;
        }                                                                          
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
zhang00956
1楼-- · 2019-07-20 05:51
 精彩回答 2  元偷偷看……
zxf
2楼-- · 2019-07-20 08:48
zhang00956 发表于 2017-6-28 09:21
res = f_write(&fdst, &dataTemp, sizeof(dataTemp), &bw); // 将缓冲区的数据写到文件中,将字符串数组dat ...

还是不行啊,请问可能是哪里的问题?
zhang00956
3楼-- · 2019-07-20 08:49
 精彩回答 2  元偷偷看……
zxf
4楼-- · 2019-07-20 11:43
 精彩回答 2  元偷偷看……
zhang00956
5楼-- · 2019-07-20 15:41
zxf 发表于 2017-6-28 12:13
发现是ADC采样赋值的问题,能再帮我看一下吗?
#include "sys.h"
#include "delay.h"

你在采样的时候,有没有调过电压,如果没调过,那肯定是相同的值
zxf
6楼-- · 2019-07-20 20:50
zhang00956 发表于 2017-6-28 12:57
你在采样的时候,有没有调过电压,如果没调过,那肯定是相同的值

确定是调了电压的

一周热门 更多>