从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;
        }                                                                          
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。