Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: SD Card - schreiben in eine Datei Kategorie: IDE (von Christian - 19.12.2010 18:41)
Als Antwort auf Re: SD Card - schreiben in eine Datei von Jörg - 19.12.2010 15:44

> > Hallo,
> >
> > ich erfolgreich das SD-Card Beispiel von der IDE 2.12.06 getestet.
> >
> > Nun möchte ich aber bei jedem erneuten Aufruf, Daten an die Datei anhÀngen.
> >
> > Im Beispiel wird die Datei immer wieder neu erzeugt.
> >
> > Nun habe ich gelesen das man die Schreibposition mit SDC_FSeek bestimmt.
> >
> > "Die Schreibposition kann mit SDC_FSeek bestimmt werden."
> >
> > Wie muss ich da vorgehen??
> >
> > Gruss Christian
>
> Hallo Christian,
>
> ich hÀtte erwartet, das bei jedem neuen schreiben die Daten (wie bei File IO)
> angehÀngt werden. Ist das hier nicht so?
>
> Grueße Joerg
>
Hallo Joerg,

ich habe das noch mal getestet, neue Daten werden in die Datei eingefĂŒgt. Aber nicht
hinten angehĂ€ngt, sondern ĂŒberschreibt den Anfang wieder.

DafĂŒr soll man laut Anleitung ja auch SDC_FSeek nutzen. Aber irgendwie funktioniert das nicht.

Die Variable pos ist immer = 0

-------------- mein Test Code ---------------------
'Globale Variablen
Dim fat(562) As Byte
Dim fil(32) As Byte

Sub SD_Karte_main()
    'Lokale Variable

    Dim res As Byte
    Dim buf(100) As Char
    Dim bytes_written(1) As Word
    Dim Free(1) As ULong
    Dim pos As ULong
    Dim Status As Byte

    Status = SDC_Init(fat)     ' SD-Card Fat init

    Status =  SDC_GetFree("0:/",Free)

    Status = SDC_MkDir("0:/CC-PRO") ' Neuen Dateiordner erstellen

    If Status = FR_NOT_READY Then   '3 = Speichermedium nicht vorhanden
       Goto W1
    End If

    ' Ist die Datei bereits vorhanden?
    ' Wenn nicht dann wird die Datei angelegt

    'Sub SDC_FOpen(ByRef fil_ramaddr As Byte, ByRef path As Char, mode As Byte) As Byte
    res=SDC_FOpen(fil, "0:/CC-PRO/test.txt", FA_READ Or FA_WRITE Or FA_OPEN_EXISTING)

    If res<>0 Then
     SDC_FOpen(fil, "0:/CC-PRO/test.txt", FA_WRITE Or FA_CREATE_ALWAYS)
    End If

    Status = SDC_FSeek(fil,pos)     ' Schreibposition suchen

    ' Schreibt einen Text in die Datei

    buf= "Hallo... 123!rn"

    SDC_FWrite(fil, buf, Str_Len(buf), bytes_written)

    SDC_FSync(fil)

    SDC_FClose(fil)     ' Datei wird geschlossen

    Lab W1

End Sub
--------------------------------------------------------

Gruss Christian


    Antwort schreiben


Antworten:

Re: SD Card - schreiben in eine Datei (von Jörg - 19.12.2010 19:09)