SD.remove() with Teensy 4.1

Might help to have more context, like source code? (Files example? )
How are you building it, on what, things like assuming Arduino, which version? What version of Teensyduino?
Was SD,begin called? did it succeed? Are you using the SD on the T4.1? what parameter did you pass to SD.begin(?)

Does the file actually exist?
 
Quick edit to: ...\arduino-1.8.19\hardware\teensy\avr\libraries\SD\examples\ReadWrite\ReadWrite.ino

This example uses PJRC SD interface to SdFat.

On a T_4.1 each time the example as included extends the file as the output here shows running 1,2, and 3 times.
Then with edited code below it removes the file and prints the written file text only once as it was removed.
Code:
Initializing SD card...initialization done.
Writing to test.txt...done.
test.txt:
testing 1, 2, 3.
Initializing SD card...initialization done.
Writing to test.txt...done.
test.txt:
testing 1, 2, 3.
testing 1, 2, 3.
Initializing SD card...initialization done.
Writing to test.txt...done.
test.txt:
testing 1, 2, 3.
testing 1, 2, 3.
testing 1, 2, 3.
Initializing SD card...initialization done.
Writing to test.txt...done.
test.txt:
testing 1, 2, 3.
Initializing SD card...initialization done.
Writing to test.txt...done.
test.txt:
testing 1, 2, 3.

tested code - some comments removed - only addition is after myFile.close() add: SD.remove("test.txt");
Code:
#include <SD.h>
#include <SPI.h>

File myFile;
const int chipSelect = BUILTIN_SDCARD;

void setup()
{
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect.
  }


  Serial.print("Initializing SD card...");

  if (!SD.begin(chipSelect)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");
 
  // open the file.
  myFile = SD.open("test.txt", FILE_WRITE);
 
  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
    // close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
 
  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");
    
    // read from the file until there's nothing else in it:
    while (myFile.available()) {
        Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
    SD.remove("test.txt");
  } else {
      // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop()
{
    // nothing happens after setup
}
 
Back
Top