[RISOLTO] La scrittura di dati su micro-SD è bufferizzata?

Sto memorizzando ogni pochi millisecondi su una micro-SD i valori numerici provenienti sia da un sensore cardiaco a tre vie che quelli temporali di un modulo DS3231 per lo sviluppo di un Holter cardiaco.
Vorrei sapere:

  • è necessario, ad esempio ogni 10 secondi, chiudere e riaprire il file per essere certi che i dati almeno fino a quell'istante siano stati memorizzati?
  • Oppure il codice: if (LogFile.print(AsY) > 0); mi dà la certezza dell'avvenuta scrittura sulla micro-SD?
  • Se la scrittura su micro-SD è bufferizzata, esiste una funzione che mi esegua lo svuotamento del buffer per raggiungere il mio scopo?

Grazie a tutti

Io ho usato questa:

LogFile.flush();

Credo che la scrittura sia bufferizzata.

Si.
E logFile va sostituito con il nome che dai all'oggetto file (se é diverso)

Aprire e chiudere il file ogni volta non è comunque una brutta idea, non ci vedo particolari controindicazioni. Sul mio logger gps faccio proprio così.

come dice il reference

Opening/Closing files

When you use file.write(), it doesn't write to the card until you flush() or close(). Whenever you open a file, be sure to close it to save your data.

As of version 1.0, it is possible to have multiple files open.

https://www.arduino.cc/en/Reference/SDCardNotes

Grazie a tutti ;D