Ich nochmal...
Also die Grundlagen von FAT leuchten mir jetzt ein. Ich habe es auch
geschafft Holger Klabunde's Code einzubinden und er funktioniert soweit.
Allerdings habe ich noch Verständnisprobleme mit dem fatbuf[] bzw der
FWrite ´Funktion.
hier gibt es doch bestimmt jemanden, der diesen Code auch verwendet...
Hier ein ausschnitt aus meiner main.c
1 | unsigned char buf[]="Lars Test";
|
2 | unsigned char testbuf[6];
|
3 |
|
4 | //get drive Info....
|
5 |
|
6 | //schreiben auf SD Karte
|
7 | testbuf[0]=0x20;
|
8 | testbuf[1]=0x21;
|
9 | testbuf[2]=0x22;
|
10 | testbuf[3]=0x23;
|
11 | testbuf[4]=0x24;
|
12 | testbuf[5]=0x25;
|
13 |
|
14 | result=Fopen("test.txt", F_WRITE);
|
15 | if(result==F_OK)
|
16 | {
|
17 | result=Fwrite(buf,8);
|
18 | if(result!=8){break;}
|
19 |
|
20 | result=Fwrite(testbuf,9);
|
21 | if(result!=9){break;}
|
22 | }
|
23 | Fclose;
|
Das funktioniert soweit auch.
Wiso kann ich aber z.B. nicht
schreiben lassen. mit der Zahl hinterm KOmma geb ich ja an wieviel
Bytes geschrieben werden sollen.
Es wird auch ein Byte geschrieben, nur statt 0x21 bekomme ich 0xFF auf
die SD Karte
Meine 2.Fage ist:
Wie verwende ich Fflush() bzw. den extern unsigned char fatbuf[];
Kann ich den beschreiben wie z.B. mein testbuf und dann wird er wenn ich
fflush aufrufe geschrieben, oder darf ich den nicht "antasten"...
Dann versteh ich allerdings den Sinn nicht ganz, soll ja das System
schneller machen und in der Funktionsbeschreibung steht:
ruft man auf, wenn der gesammelte Inhalt auf den CF(SDKarte) geschrieben
werden soll, ohne die Datei zu schließen.
Hab natürlich schon damit rumgespielt und versucht z.B. fatbuf[1]=0x22;
und dann Fwrite(fatbuf,1); aber das funktioniert nicht.
Wäre nett wenn ihr mir da helfen könntet.
Grüße