void setup()
{
Serial.begin(9600);
//Initialize SD card
pinMode(chipSelect, OUTPUT);
delay(100);
digitalWrite(chipSelect, HIGH); // Add this line
delay(100);
/*
if (!SD.begin(chipSelect)) {
//Error initializing SD card
Serial.println("ERR:init SD");
}
//Initialize USB
if (Usb.Init() == -1){
//Error initializing USB
Serial.println(F("ERR: init USB"));
usb_error=1;
}
delay(200);
}
Try adding this before your SD initialisation code:
Code:pinMode(0, OUTPUT); digitalWrite(0, HIGH);
pinMode(chipSelect, OUTPUT);
delay(100);
digitalWrite(chipSelect, HIGH); // Add this line
delay(100);
Sorry, my bad, I mean pin 9, not 0.
Yes, I can see that from your code.
Try the code above as described, but replace 0 with 9.
void setup()
{
DEBUG_SERIAL.begin(9600);
//Initialize SPI pins to avoid errors
pinMode(9, OUTPUT);
delay(200);
digitalWrite(9, HIGH);
delay(200);
//Initialize SD card
while (!SD.begin(chipSelect) && err_count<3){
//Error initializing SD card
#ifdef DEBUG_ON
DEBUG_SERIAL.println(F("ERR:init SD"));
#endif
err_count++;
}
//Write start tag at log.txt file
if(!sd_error){
sd_log("[Start]",1);
}
//Initialize USB
if (Usb.Init() == -1){
//Error initializing USB
DEBUG_SERIAL.println(F("ERR: init USB"));
}
delay(200);
}
//Initialize SPI pins to avoid errors
//USB host SS pin
pinMode(9, OUTPUT);
delay(200);
digitalWrite(9, HIGH);
delay(200);
//MicroSD SS pin
pinMode(chipSelect, OUTPUT);
delay(200);
digitalWrite(chipSelect, HIGH);
delay(200);