极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 弘毅

arduino学习笔记18 - SD卡读写实验

  [复制链接]
发表于 2015-5-20 16:45:06 | 显示全部楼层
请问各位大神,如何验证是否成功写进呢?我把向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");
  }
}
回复 支持 反对

使用道具 举报

发表于 2015-6-1 15:46:15 | 显示全部楼层
暮雨萧萧 发表于 2013-3-31 19:07
**** 作者被禁止或删除 内容自动屏蔽 ****

我的也是这样,求助。。
回复 支持 反对

使用道具 举报

发表于 2015-6-13 12:40:20 | 显示全部楼层
为什么都是乱码?大神们求指导

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2015-6-13 14:14:38 | 显示全部楼层
生成的txt说损坏了打不开,大神们求指教
回复 支持 反对

使用道具 举报

发表于 2015-6-22 14:18:32 | 显示全部楼层
弘毅 发表于 2012-9-24 22:13
抽空玩玩更新进去

更了没啊?
如果有f32的话,是不是就不限SD卡的容量了?
回复 支持 反对

使用道具 举报

发表于 2015-7-3 11:05:09 | 显示全部楼层
为什么添加一些模块代码后
sd.open('****')
就会出错,打不开.txt的文件,稍微修改一下就又可以,没有添加其他的啊
回复 支持 反对

使用道具 举报

发表于 2015-7-3 11:05:44 | 显示全部楼层
为什么添加一些模块代码后
sd.open('****')
就会出错,打不开.txt的文件,稍微修改一下就又可以,没有添加其他的啊
回复 支持 反对

使用道具 举报

发表于 2015-7-26 08:46:50 | 显示全部楼层
刚试了8G的SD卡可以
昨天晚上用的一张1G金士顿怎么都不行,自带示例程序
看来确实存在挑卡问题的
回复 支持 反对

使用道具 举报

发表于 2015-10-24 16:08:33 | 显示全部楼层
超赞,我可以把采集的数据直接存到SD卡中。
回复 支持 反对

使用道具 举报

发表于 2015-12-16 22:44:30 | 显示全部楼层
学习一下。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2016-3-2 20:03:17 | 显示全部楼层
有没有SD.h的库文件
回复 支持 反对

使用道具 举报

发表于 2016-5-10 12:29:08 | 显示全部楼层
怎么只删除.txt;里面的数据,而不删除文件
回复 支持 反对

使用道具 举报

发表于 2016-8-4 11:11:55 | 显示全部楼层
第一个程序30行不需要else判断吗?
回复 支持 反对

使用道具 举报

发表于 2016-8-4 13:36:06 | 显示全部楼层
这几个例程是库中的,我的4G SDHC卡验证通过。
回复 支持 反对

使用道具 举报

发表于 2016-11-5 11:01:21 | 显示全部楼层
怎么打开SD卡后没有你说的那个DATALOG.TXT文件啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 20:32 , Processed in 0.047010 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表