Arduino SPI Micro SD卡-打开文本文件时出错-为什么是isn';它不起作用吗?
首先,我很抱歉我的英语和编程技能不好。。。我还是个初学者。在我的项目中实现示例代码时遇到问题。我的SD卡上的数据记录示例代码有效。因此没有接线故障。。在我的项目中实现这个工作代码,arduino找不到文本数据,我也不知道为什么。有人能帮我吗 我和arduino nano V3合作。和一个SPI读卡器 以下是串行监视器中发生的情况: 正在初始化SD卡…卡已初始化。 打开datalog.txt时出错 这是我的密码-抱歉用了德语单词。。。但我想他们不会打扰你Arduino SPI Micro SD卡-打开文本文件时出错-为什么是isn';它不起作用吗?,arduino,spi,cardreader,Arduino,Spi,Cardreader,首先,我很抱歉我的英语和编程技能不好。。。我还是个初学者。在我的项目中实现示例代码时遇到问题。我的SD卡上的数据记录示例代码有效。因此没有接线故障。。在我的项目中实现这个工作代码,arduino找不到文本数据,我也不知道为什么。有人能帮我吗 我和arduino nano V3合作。和一个SPI读卡器 以下是串行监视器中发生的情况: 正在初始化SD卡…卡已初始化。 打开datalog.txt时出错 这是我的密码-抱歉用了德语单词。。。但我想他们不会打扰你 #include <LiquidC
#include <LiquidCrystal_I2C.h>
#include "RTClib.h"
RTC_DS3231 rtc;
#include <SimpleDHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#include <SPI.h>
#include <SD.h>
const int chipSelect = 10; // SD KARTE
int pinDHT22 = 2; // Kombisensor
SimpleDHT22 dht22(pinDHT22);
float temperature = 0;
float humidity = 0;
volatile float windgeschwindigkeit = 0;
unsigned long previousMillis = 0;
volatile int Impulscounter = 0; // Impulszähler für Windgeschwindigkeit
unsigned long windmillis = 0;
int a = 0;
File Datenlog;
void wind()
{
Impulscounter = Impulscounter + 1;
if( Impulscounter == 1)
{
windmillis = millis();
}
}
void setup()
{
pinMode(3, INPUT);
lcd.begin();
lcd.backlight();
Serial.begin(9600);
attachInterrupt(1, wind, RISING);
while (!Serial) { // wait for serial port to connect. Needed for native USB port only
;
}
Serial.print("Initializing SD card...");
if (!SD.begin(chipSelect)) { // see if the card is present and can be initialized:
Serial.println("Card failed, or not present");
// don't do anything more:
while (1);
}
Serial.println("card initialized.");
Datenlog = SD.open("test.txt", FILE_WRITE);
if (Datenlog){
Datenlog.print("Tag "); // ... und die Textdatei anschließend befüllt werden.
Datenlog.print("Datum ");
Datenlog.print("Uhrzeit ");
Datenlog.print("Aussentemperatur ");
Datenlog.print("Aussenfeuchtigkeit ");
Datenlog.print("Windgeschwindigkeit ");
Datenlog.print("Gehaeusetemperatur ");
Datenlog.close();
Serial.print ( "it worked");
}
else {
Serial.println("error opening datalog.txt");
}
}
#包括
#包括“RTClib.h”
RTC_DS3231 RTC;
#包括
#包括
#包括
液晶I2C液晶显示器(0x27,16,2);
#包括
#包括
常数int chipSelect=10;//卡丁车
int pinDHT22=2;//康比传感器
simpledh22-dht22(pinDHT22);
浮子温度=0;
浮子湿度=0;
挥发性浮子windgeschwindigkeit=0;
无符号long-previousMillis=0;
易失性计数器=0;//Pulsuzähler für Windgeschwindigkeit
无符号长windmillis=0;
int a=0;
文件日期记录;
虚风
{
脉冲计数器=脉冲计数器+1;
如果(脉冲计数器==1)
{
windmillis=millis();
}
}
无效设置()
{
pinMode(3,输入);
lcd.begin();
lcd.backlight();
Serial.begin(9600);
附件中断(1,风,上升);
而(!Serial){//等待串行端口连接。仅本机USB端口需要
;
}
串行打印(“初始化SD卡…”);
如果(!SD.begin(chipSelect)){//查看卡是否存在并且可以初始化:
Serial.println(“卡故障或不存在”);
//不要再做任何事情:
而(1),;
}
Serial.println(“卡已初始化”);
Datenlog=SD.open(“test.txt”,文件_-WRITE);
如果(Datenlog){
Datenlog.print(“Tag”)/…和die Textdatei anschließend befüllt werden。
日期日志打印(“基准”);
Datenlog.print(“Uhrzeit”);
日期日志打印(“澳大利亚温度”);
Datenlog.print(“Aussenfeuchtigkeit”);
Datenlog.print(“Windgeschwindigkeit”);
日期日志打印(“GehaeuseTemperature”);
Datenlog.close();
Serial.print(“它起作用”);
}
否则{
Serial.println(“打开datalog.txt时出错”);
}
}
SD卡可写吗?是的,SD卡可写。。SD库中的Exampleprogramm正在运行。您的文件名为“test.txt”(不是“datalog.txt”),该文件是否已经存在?如果您手动将其从卡中删除怎么办?SD卡是否可写?是的,SD卡可写。。SD库中的Exampleprogramm正在运行。您的文件名为“test.txt”(不是“datalog.txt”),该文件是否已经存在?如果您手动将其从卡中删除怎么办?