Probleme beim schreiben in ein file FAt16 lib vonRoland Riegel

Gast #843571
Lesenswert?
• ▲
▼
Hi


bei folgenden punkt tut sich nichts mehr

fd->dir_entry.cluster = cluster_num = fat16_append_clusters(fd->fs, 0, 
1);

in der int16_t fat16_write_file(struct fat16_file_struct* fd, const 
uint8_t* buffer, uint16_t buffer_len)



Datei ist erzeugt und leer.

Hat jemand einen tip????

        Danke
Gast #843712
Lesenswert?
• ▲
▼
Habe das Problem gefunden aber weiß nicht warum es so ist


ich habe nun versucht ein unsigned char tmp[264]
mit

strcpy(tmp,"1234567890");
zu füllen und es so zu übergeben

if(fat16_write_file(fd, (uint8_t*) tmp, 15) != 15)


das klappt


aber wenn ich


read_daten(ende,tmp);

// ZUGRIFF AUF ATMEL FLASH
char *read_daten(unsigned int page,unsigned char *daten)
{
read_from_main_memory(page,&daten[0]);
return (&daten[0]);
}

sind die daten auch in tmp habe ich über die UART angeschaut.

nun übergebe ich wieder

if(fat16_write_file(fd, (uint8_t*) tmp, 15) != 15)

nun habe ich wieder das Problem wie oben beschrieben

warum????

ist die dekleration falsch????


Danke
Gast #843762
Lesenswert?
• ▲
▼
Ich habe einen 128 iger


Problem lag am SPI.


Aber jetzt habe ich das Problem ich will 7 x ein tmp[222] schreiben.

beim 4. mal hängt er sich auf

if(fat16_write_file(fd, (uint8_t*) tmp, 222) != 222)



Danke
Gast #844194
Lesenswert?
• ▲
▼
Habe jetzt die libs von www.mikro-control.de genommen

soweit geht alles bis auf dieses
ich will herausfinden beim schreiben von dateien ob diese schon 
existiert.

in dieser funktion existiert jeder dateiname warum weiß ich nicht habe

alles möglich probiert die sd formatiert usw.immer wieder das selbe



//______________________________________________________________________ 
________________________________________________________________
// Funtion:   u8 fexist_(u8*, File *file);
//
// Description:  This function searches the specified file and returns 0 
if the file was not found.
//
//
//  Return:    0 = file does not exist
//        1 = file exists
//______________________________________________________________________ 
________________________________________________________________

u8 fexist_(s8 *fname)
{
  File *file;


  file = ReserveFilePointer();

  if(file != NULL)
  {
    if((file = fopen_(fname,'r'))!= NULL)
    {
    send_UART("EXISTS\r");
      fclose_(file);
      return(1);
    }
    else
    {
      return(0);
    }
  }
  else
  {
    return(0);
  }
}




übergen tu ich die Funktion so

if(fexist_("test.txt"))
{
send_UART("!!IGC FILE  ");
send_UART(flashdatenbank.igcfile);
send_UART("existiert bereits ignoriert!!\r");
sdnf++;
}


Danke

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.