ПОМОГИТЕ С SD. Чтение и запись

Нет ответов
mif-321
Offline
Зарегистрирован: 09.02.2017

Задача в фаиле считать первую строку (число), вывести его на ФТФ экран, сделать над ним математическое действие (в десятичной системе), и записать его назат, голову уже второй день ломаю ,#include <OneWire.h>
OneWire ds(10); // на digital pin 10
/* na klych*/
#include <SPI.h>
#include <SD.h>
Sd2Card card;
SdVolume volume;
SdFile root;
const int sd = 53;
File myFile;
/*na sd karty*/

void setup() {

Serial.begin(9600);
pinMode(sd, OUTPUT);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
if ( !SD.begin(sd))
{
Serial.println("initialization failed!");
return;
}
}

void loop() {
byte i;// nado dlia klycha
byte present = 0 ;//
byte addr[8];

if ( !ds.search(addr)) // do syda
{
delay(500);
return;
}

String str1;
for (int i = 4 ; i < 8 ; i++) {
str1 += addr[i], HEX ;
}
str1 += ".txt";

Serial.println(str1);
myFile = SD.open(str1.c_str(), FILE_WRITE);

if (myFile) {
Serial.println("Writing to test.txt...");

вот от сюда не знаю что делать ((((  по этому там дальше брет, попытки что то сделать
myFile.seek(0);
int c ;
unsigned long ch;
char tx[3];
for (int i = 0 ; i < 3; i++)
{
myFile.read( tx[i] , i );
}
unsigned int Num = 0;
for (int i = 0; i < 3; i++)
{
Num = Num * 10 + tx[i] - 0x30;
}
Serial.println(Num, DEC);
Num= Num - 10;
Serial. println(Num);
Serial.println(ch, DEC);
ch = ch - 60 ;
Serial.println(ch, DEC);
myFile.close();
}
ds.reset();

}

код корявый , пытаюсь с ним работать кто поможет?

толька очень большая прозба обясните по строчно чтобы понять логику