mbed_app.json
Summary
{
“target_overrides”: {
“NUCLEO_F103RB”: {
“target.printf_lib”: “minimal-printf”,
“target.components_add”: [“SD”],
“platform.minimal-printf-enable-floating-point”: false,
“platform.stdio-minimal-console-only”: true
}
}
}
Main.cpp
Summary
#include "mbed.h"
#include <errno.h>
#include <stdio.h>
#include <functional>
#include <chrono>
#define BUFFER_MAX_LEN 10
#define FORCE_REFORMAT true
#include "SDBlockDevice.h"
BlockDevice *sd = SDBlockDevice::get_default_instance();
#include "FATFileSystem.h"
FATFileSystem fs("fs");
FILE *myLogFile;
int counter = 0;
FILE *nextLogFile(void)
{
static unsigned int fileNumber = 0;
char fileName[32];
FILE *filePtr = NULL;
do {
if (filePtr != NULL)
fclose(filePtr);
sprintf(fileName,"/fs/log%04u.txt",counter++);
filePtr = fopen(fileName,"r");
}
while (filePtr != NULL);
filePtr = fopen(fileName,"w");
return filePtr;
}
int main()
{
int err = fs.mount(sd);
if (err || FORCE_REFORMAT) {
printf("formatting... \n");
fflush(stdout);
err = fs.reformat(sd);
if (err) {
printf("bad reform\n");
error("error: %s (%d)\n", strerror(-err), err);
return 1;
}
printf("done\n");
fflush(stdout);
}
fs.mkdir("directory", 077);
myLogFile = nextLogFile();
if (!myLogFile) {
printf("cant createFile\n");
error("error: %s (%d)\n", strerror(err), -err);
return 1; // probably want to exit the program in this situation
}
printf("File created\n");
fflush(stdout);
while(true)
{
}
}
Having troubles with creating Files in Mbed, few days earlier code worked - well, but now i can create folder by fs.mkdir(“directory”, 077);
but
filePtr = fopen(fileName,“w”);
return filePtr;
returns 0x0, what am i doing wrong?