Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

Atmel2561 Homelab plaat

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    Atmel2561 Homelab plaat

    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?
    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);
    }
    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.

    #2
    Vs: Atmel2561 Homelab plaat

    f_printf(&fil_obj, "Tekst");

    asemel kasuta

    f_printf(&fil_obj, "Tekst\r\n");

    \r\n - sobib win puhul reavahetuseks
    \n - linuxite puhul
    \n\r - vist oli õuna puhul sedasi


    \r on siis return carret
    \n on new line

    Comment


      #3
      Vs: Atmel2561 Homelab plaat

      Esmalt postitatud dieter poolt Vaata postitust
      f_printf(&fil_obj, "Tekst");

      asemel kasuta

      f_printf(&fil_obj, "Tekst\r\n");

      \r\n - sobib win puhul reavahetuseks
      \n - linuxite puhul
      \n\r - vist oli õuna puhul sedasi


      \r on siis return carret
      \n on new line
      Seda ma mäletan (viimased kaks rida) jah - 8085 protsessori andmeedastusega USARTiga, kuid seal oli see väga väga palju erinev. Tänan info eest!

      Comment

      Working...
      X