加载中…
正文 字体大小:

SD is a problem,but solved.

(2013-02-27 15:42:49)

SD <wbr>is <wbr>a <wbr>problem,but <wbr>solved.

SD <wbr>is <wbr>a <wbr>problem,but <wbr>solved.
2013.7.29 在Arduino 1.0.5上编译通过。以前在1.0.1版上Leonardo是不能通过的。感谢吴楠的发现,他是在1.0.3版上发现Leonardo是可以测试通过的。



 
#include <SD.h>
#include <string.h>
File dataFile;
// CS引脚为pin4,这里也沿用官方默认设置
const int chipSelect = 10;  //设定CS接口 for Leonardo
 
void setup()
{
  Serial.begin(9600);  //设置串口通信波特率为9600
  while(!Serial){};
  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.
// 打开文件,注意在同一时间只能有一个文件被打开
  // 如果你要打开另一个文件,就需要先关闭前一个
  dataFile = SD.open("datalog1.txt", FILE_WRITE);
  if(!dataFile)  Serial.println("error opening datalog.txt");
}
 
void loop()
{
  // 定义数组
  String dataString = "";
  char str[32];
 for(int i=0;i<=50;i++){
    int sensor0 = analogRead(0);
    int sensor1 = analogRead(1);
    int sensor2 = analogRead(2);
   
    sprintf(str,"%d %d %d",sensor0,sensor1,sensor2);

 
  
 
  // 打开datalog.txt文件,读写状态,位置在文件末尾。
  if (dataFile) {
    dataFile.println(str);
    //dataFile.close();
    // 数组dataString输出到串口
   
    Serial.println(str);
 
 }
  // 如果无法打开文件,串口输出错误信息error opening datalog.txt
 dataFile.close();
  
 
}

0

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有