Hi
Ich verwende die SD Library von Daniel R. die ich hier im Forum gefunden
habe und versuche sie gerade auf einen PIC 18F4685 in C18 umzuschreiben.
Im Moment versuche ich den Inhalt des Root-Dirs der SD auszulesen. Die
Karte wird korrekt initialisiert und über Usart werden dann ebenso viele
Zeilen ausgegeben, wie Dateien sich auf der Karte befinden. Allerdings
alle fast identisch und in kryptischen Zeichen. Wäre echt dankbar wenn
jemand mal den Code durchschauen könnte, mir fallen schon bald die Augen
raus.
Um es übersichtlicher zu halten, poste ich nur file.c (da der Fehler
wahrscheinlich dort liegt) und den wesentlichen Teil von main.c:
1 | void main(void)
|
2 | {
|
3 | Port_init();
|
4 | GLCD_init();
|
5 | Usart_init();
|
6 |
|
7 | SD_select=1;
|
8 | printf("\n\rBoot");
|
9 | while (SD_init() == 0);
|
10 |
|
11 | printf("...\n\r");
|
12 | if(fat_loadFatData()==1{
|
13 |
|
14 | printf("Ok\n\r");
|
15 | printf("FatSec: %dl\n\r",fat.fatSec);
|
16 | printf("FatType: %d\n\r",fat.fatType);
|
17 | printf("DataDir: %dl\n\r",fat.dataDirSec);
|
18 |
|
19 | ffls();
|
20 | printf("\n\r DONE \n\r");
|
21 | while(1);
|
22 | }
|
23 | }
|
Die Funktion ffls() bringt über Usart folgende Ausgabe:
Boot...
Ok
FatSec: 0l
FatType: 32
DataDir: 0l ò
1 eoîP foîP goîP hoßÏæÿæj}ßåRåRQáßÏ 3623402ÏðîÏðîÏðïÏð
ò
2 ␊⎺îP °⎺îP ±⎺îP ⎺ßÏæÿæ┘£ßåRåRQáßÏ 3331541ÏðîÏðîÏðïÏð
ò
3 ␊⎺îP °⎺îP ±⎺îP ⎺ßÏæÿæ┘£ßåRåRQáßÏ 2208077ÏðîÏðîÏðïÏð
DONE