从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条回答
zxf
1楼-- · 2019-07-20 21:32
 精彩回答 2  元偷偷看……
zhang00956
2楼-- · 2019-07-21 01:42
 精彩回答 2  元偷偷看……
zxf
3楼-- · 2019-07-21 03:24
zhang00956 发表于 2017-6-28 13:57
哪里出错了?

  ADC_Vol =(float) ADC_ConvertedValue/4096*(float)3.3; // 读取转换的AD值
这一行有问题,一直重复读取第一个数据,参考别的例程修改了一下就好了
八月写给你的信
4楼-- · 2019-07-21 08:59
 精彩回答 2  元偷偷看……

一周热门 更多>