niijyeni 发表于 2017-6-2 18:39:23

[新手求助]SD读写与LED问题

使用SD读写完数据后希望通过闪烁LED进行提示,SD卡能读写成功但是LED没有反应,求各位大神指导一二。
代码如下:
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);

while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB, on LEONARDO, MICRO, YUN, and other 32u4 based boards.
}
Serial.print("Initializing SD card...");

if (!SD.begin(4)) {
    Serial.println(" failed!");
    return;
} else {
    Serial.println(" done.");
    if (!SD.exists("17060203.DAT")) {
      cacheFile = SD.open("17060203.DAT", FILE_WRITE);
    } else {
      cacheFile = SD.open("17060203.DAT", O_READ|O_WRITE);
    }

    if (cacheFile) {
      if (cacheFile.size() == 0) {
      cacheFile.println("DEV-ID:DL092817234");
      cacheFile.println("DEV-ADDR:192.169.0.1");
      cacheFile.println("DEV-MAC:AC-22-11-CD-AE");
      cacheFile.println("--DATALOG--");
      }
      cacheFile.println("20170602111411,33.2,11.2,502,293,11.2,11,23,11,22,33");
      cacheFile.println("20170602111411,33.2,11.2,502,293,11.2,11,23,11,22,33");
      cacheFile.println("20170602111411,33.2,11.2,502,293,11.2,11,23,11,22,33");

      cacheFile.seek(0);
      // read from the file until there's nothing else in it:
      while (cacheFile.available()) {
      Serial.write(cacheFile.read());
      }
      cacheFile.close();
    } else {
      Serial.println("error opening/creating file.");
    }   
}

pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
delay(5000);
digitalWrite(LED_BUILTIN, LOW);
delay(3000);

zjz5717 发表于 2017-6-2 20:52:39

这不是全部的代码吧

niijyeni 发表于 2017-6-3 11:45:58

zjz5717 发表于 2017-6-2 20:52
这不是全部的代码吧

这个时setup中的代码,loop函数为空的

jasonwang1208 发表于 2017-6-3 13:11:48

這樣子程式跑完一次,當然不會再繼續囉=結束

zjz5717 发表于 2017-6-3 18:30:36

niijyeni 发表于 2017-6-3 11:45
这个时setup中的代码,loop函数为空的

setup函数只执行一次,所以当舵机转一圈回来之后,会读一次传感器,在之后就不会在读取了,你是不是考虑把读传感器的部分放到loop函数
页: [1]
查看完整版本: [新手求助]SD读写与LED问题