请问各位大神,如何验证是否成功写进呢?我把向SD卡写数据和读SD卡内文件这俩整合到一起,为啥读到的不是我写进去的东西呢?可不可以请各位帮我看一下问题在哪里
/*
此例子展示如果记录三个模拟引脚数值到SD卡,使用SD库。
*/
#include <SPI.h>
#include <SD.h>
// CS引脚为pin4,这里也沿用官方默认设置
const int chipSelect = 4;//设定CS接口
void setup()
{
Serial.begin(9600);//设置串口通信波特率为9600
Serial.print("Initializing SD card...");//串口输出数据Initializing SD card...
pinMode(10, OUTPUT);
if (!SD.begin(chipSelect)) //如果从CS口与SD卡通信失败,串口输出信息Card failed, or not present
{
Serial.println("Card failed, or not present");
return;
}
Serial.println("card initialized.");//与SD卡通信成功,串口输出信息card initialized.
File dataFile = SD.open("datalog.txt");//打开datalog.txt文件
if (dataFile)
{
while (dataFile.available())
{//检查是否dataFile是否有数据
Serial.write(dataFile.read());//如果有数据则把数据发送到串口
}
dataFile.close();//关闭dataFile
}
else
{
Serial.println("error opening datalog.txt");//如果文件无法打开串口发送信息error opening datalog.tx
}
}
void loop()
{
// 定义数组
String dataString = "1234";
// 读取三个传感器值,写入数组
/* for (int analogPin = 0; analogPin < 3; analogPin++)
{
int sensor = analogRead(analogPin);
dataString += String(sensor);
if (analogPin < 2)
{
dataString += ",";
}
}*/
// 打开文件,注意在同一时间只能有一个文件被打开
// 如果你要打开另一个文件,就需要先关闭前一个
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// 打开datalog.txt文件,读写状态,位置在文件末尾。
if (dataFile)
{
dataFile.println(dataString);
dataFile.close();
// 数组dataString输出到串口
// Serial.println(dataString);
}
// 如果无法打开文件,串口输出错误信息error opening datalog.txt
else
{
Serial.println("error opening datalog.txt");
}
}
暮雨萧萧 发表于 2013-3-31 19:07 static/image/common/back.gif
**** 作者被禁止或删除 内容自动屏蔽 ****
我的也是这样,求助。。
为什么都是乱码?大神们求指导
生成的txt说损坏了打不开,大神们求指教:'(
弘毅 发表于 2012-9-24 22:13 static/image/common/back.gif
抽空玩玩更新进去
更了没啊?
如果有f32的话,是不是就不限SD卡的容量了?
为什么添加一些模块代码后
sd.open('****')
就会出错,打不开.txt的文件,稍微修改一下就又可以,没有添加其他的啊
为什么添加一些模块代码后
sd.open('****')
就会出错,打不开.txt的文件,稍微修改一下就又可以,没有添加其他的啊
刚试了8G的SD卡可以
昨天晚上用的一张1G金士顿怎么都不行,自带示例程序
看来确实存在挑卡问题的
超赞,我可以把采集的数据直接存到SD卡中。
学习一下。。。。。。。。
有没有SD.h的库文件
怎么只删除.txt;里面的数据,而不删除文件
第一个程序30行不需要else判断吗?
这几个例程是库中的,我的4G SDHC卡验证通过。
怎么打开SD卡后没有你说的那个DATALOG.TXT文件啊:'(