Tere!
Sooviks infot ja abi seoses HomeLab controller boardiga. Nimelt on vaja kirjutadada pidevalt mingi aja möödudes sd kaardile väärtusi. Kuid need väärtused ei tohi tulla järjest vaid iga väärtus uuele reale. Miks? sest hiljem on neid võimalik excelist lahterdada ning saada graafik. See selleks ise olen leiutanud, kuid uut rida pole saanud. HomeRoboric lab kodulehel on infot sd kaardi kohta, kuid seda ei ole piisavalt - või puudub oskus seda sealt lugeda.
Võtsin aluseks lihtsa koodi, mis loob sd kaardile fail.txt ja kirjutab sinna rea teksti. See töötab täiesti, aga kuidas ma saaskin kursori viia uuele reale ning siis kirjutada sinna veel midagi?
Niipalju kui ma lugenud olen, siis see "55" peaks olema faili mingi suurus, kuhu kursor viiakse.
Muidugi on ka lihtsamaid lahendusi, kuid see on hektel minule sobilik, ning ärme hakkame seda arutama.
Sooviks infot ja abi seoses HomeLab controller boardiga. Nimelt on vaja kirjutadada pidevalt mingi aja möödudes sd kaardile väärtusi. Kuid need väärtused ei tohi tulla järjest vaid iga väärtus uuele reale. Miks? sest hiljem on neid võimalik excelist lahterdada ning saada graafik. See selleks ise olen leiutanud, kuid uut rida pole saanud. HomeRoboric lab kodulehel on infot sd kaardi kohta, kuid seda ei ole piisavalt - või puudub oskus seda sealt lugeda.
Võtsin aluseks lihtsa koodi, mis loob sd kaardile fail.txt ja kirjutab sinna rea teksti. See töötab täiesti, aga kuidas ma saaskin kursori viia uuele reale ning siis kirjutada sinna veel midagi?
Kood:
#include <stdio.h> #include <homelab/module/ff.h> #include <homelab/module/diskio.h> int main (void) { static FATFS FATFS_Obj; FIL fil_obj; // SD kaardi initsialiseerimine. disk_initialize(0); // Failisüsteemi initsialiseerimine. f_mount(0, &FATFS_Obj); // Tekitatakse tekstifail "fail.txt". f_open(&fil_obj, "/fail.txt", FA_CREATE_NEW); // Fail avatakse kirjutusreziimis. f_open(&fil_obj, "/fail.txt", FA_WRITE); // Faili kirjutamine. f_printf(&fil_obj, "Tekst"); //peaks olema kursori liigutamine, kuid see ei toimi. tekitab mindagi jaburat faili ning viib kursori väga kaugele paremale. f_lseek(&fil_obj, "/fail.txt" "55"); f_printf(&fil_obj, "tekst 2"); // Faili sulgemine f_close(&fil_obj); }
Muidugi on ka lihtsamaid lahendusi, kuid see on hektel minule sobilik, ning ärme hakkame seda arutama.
Comment