1
Dependencies: MODSERIAL USBDevice USBMSD_SD V09_01h
info.txt
- Committer:
- rs27
- Date:
- 2015-01-03
- Revision:
- 4:0e44fe33977a
- Parent:
- 1:efee40e9d116
File content as of revision 4:0e44fe33977a:
Das Zusammenspiel zwischen dem USB Bus, der SD Karte und der Seriellen Schnittstelle hat nicht richtig funktioniert. Sobald die SD Karte mit MODSERIAL verwendet wird, geht die SD Karte nicht mehr. Mit der Umstellung auf BufferedSerial hat die SD Karte wieder funktioniert SDFileSystem Revison 17 März 2014, screamer Ein weiteres Problem ist das Auslesen der Zeit für eine Datei. Wird die Zeit ausgelesen hängt sich die SD Karte auf. Das Auslesen der Zeit ist somit im mon.cpp auskommentiert. SD Formatieren >> FAT16 und FAT32 gehen mit dem SD File System. Mit USB geht nur FAT16 und Standart Formatierung sind dann 32k Sektoren. //----------------------------------------------------------------------------- // monitor Aufruf dir // // weiter Infos siehe auch // http://elm-chan.org/fsw/ff/00index_e.html // // Start node to be scanned (also used as work area) FRESULT FATFileSystem::list_files (const char *name) { FRESULT res; FILINFO fno; FATFS_DIR dir; int i; char *fn; // some code printf("\nscan_files Line 152"); #if _USE_LFN static char lfn[_MAX_LFN + 1]; fno.lfname = lfn; fno.lfsize = sizeof lfn; #endif printf("\nscan_files Line 159"); res = f_opendir(&dir, name); // Open the directory printf("\nscan_files Line 162"); if (res == FR_OK) { i = strlen(name); for (;;) { res = f_readdir(&dir, &fno); // Read a directory item if (res != FR_OK || fno.fname[0] == 0) break; // Break on error or end of dir if (fno.fname[0] == '.') continue; // Ignore dot entry #if _USE_LFN fn = *fno.lfname ? fno.lfname : fno.fname; #else fn = fno.fname; #endif if (fno.fattrib & AM_DIR) { // It is a directory // sprintf(&name[i], "/%s", fn); // res = scan_files(name); // if (res != FR_OK) break; // path[i] = 0; } else { // It is a file. printf("%s/%s\n", name, fn); } } } return res; ---------------------------------------------------------------------------------------------------------------------------- 28.10.2014 Nach eine Reset und danach kommen ab und zu Zeichen auf der seriellen Schnittselle an. Derzeit ist unklar woher die kommen. Das hat sich geklärt. Die Zeichen kommen durch mangelhafte RS2323 Treiber. Nach dem Tausch des Treibers war das Problem behoben. Die verwendeten Treiber hatten ein Problem mit der Erzeugung der +- 15V. Die Spannung ist in der Beschaltung zeitweise eingebrochen und hat damit ein Übersprechen auf die Empfangsleitung erzeugt. Unklar ist jedoch, warum sich diese Treiberbausteine so verhalten.