-diese Library dient zum ansteuern der SD-Karte auf
der STAMP “myAVR STAMP 256plus”
-die SD-Karte ist an den SPI-Bus angeschlossen,
aus dem Grund wird auch der SPI-Treiber
“MK3_2560_SPI.h” benoetigt
-die SD-Karte muss mit dem FAT-Dateisystem formatiert sein
-Filenamen im Format 8+3 -> 8 Zeichen fuer den Filnamen und 3 fuer die Dateiendung
-den Hauptteil von dieser Library habe ich von Stephan Buskers FAT16-Dateisystem-Treiber (siehe Copyrighthinweis im Header der Library)
-Es gibt noch eine “schnellere” Library die allerdings etwas komplexer ist.
(MK3_2560_FASTFAT.h)
Funktionen :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | MK3_INIT_FAT16() // zum initialisieren der Funktionen MK3_FAT16_CHKDSK() // Check ob eine SD-Karte vorhanden ist F21_fopen_() // oeffnet ein File (zum lesen oder schreiben) F22_fclose_() // zum schliessen eines Files F28_fputs_() // String in ein File schreiben F29_fgets_() // String aus einem File lesen F24_fwrite_() // Objekt in ein File schreiben F23_fread_() // Objekt aus einem File lesen F30_fexist_() // test ob ein File existiert F45_mkdir_() // erstellt ein Directory F46_chdir_() // wechselt in ein Directory F48_findfirst_() // findet das erste Objekt F49_findnext_() // findet das naechste Objekt F50_fdelete_() // loeschet ein File F51_rmdir_() // loeschet ein Directory F52_feof_() // test ob File-Ende erreicht |
Beispiel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | //----------------------------------------------------------------------------- // Title : bsp_ub015_mk3_fat16 //----------------------------------------------------------------------------- // Funktion : SD-Card Test // Schaltung : myAVR MK3 //----------------------------------------------------------------------------- // Prozessor : ATMega2560 // Takt : 16 MHz // Sprache : C // Date : 22.02.2010 // Version : 1.0 // Autor : UB //----------------------------------------------------------------------------- #define F_CPU 16000000 #include <avr/io.h> #include <ub_mk3_2560/MK3_2560_LCD.h> #include <ub_mk3_2560/MK3_2560_FAT16.h> //----------------------------------------------------------------------------- // Hinweis : Quick-Jumper Port-C+A muss gesetzt sein // - testet ob eine SD-Karte eingelegt ist // - legt ein File an und schreibt einen Text rein // - zeigt bei Erfolg eine OK-Meldung an //----------------------------------------------------------------------------- int main (void) { bool s_ok=false; File *myfile; MK3_INIT_LCD(); // init des LCD MK3_LCD_CLEAR(); // LCD loeschen MK3_LCD_LIGHT(true); // beleuchtung einschalten MK3_INIT_FAT16(); MK3_LCD_STRING_AT(0,0,"suche SD-Karte:"); s_ok=MK3_FAT16_CHKDSK(); if(s_ok==true) { MK3_LCD_STRING_AT(0,8,"Karte gefunden"); if(myfile=F21_fopen_("file1.txt",'w')) { F28_fputs_(myfile,"Dieser Text wird geschrieben"); F22_fclose_(myfile); MK3_LCD_STRING_AT(0,16,"Datei geschrieben"); } else { MK3_LCD_STRING_AT(0,16,"error"); } } else { MK3_LCD_STRING_AT(0,8,"...keine Karte"); } while (true) { } return 0; } |
Hier die Library zum download :
c:/winavr-20080512/lib/gcc/../../avr/include/ub_mk3_2560/MK3_2560_LCD.h:266: error: ‘wert’ undeclared (first use in this function)
c:/winavr-20080512/lib/gcc/../../avr/include/ub_mk3_2560/MK3_2560_LCD.h:266: error: (Each undeclared identifier is reported only once
c:/winavr-20080512/lib/gcc/../../avr/include/ub_mk3_2560/MK3_2560_LCD.h:266: error: for each function it appears in.)
../2560_sd_karte.c:38: error: ‘mwert’ undeclared (first use in this function)
Hilfe ,das zu der Fehlermeldung komm nicht weiter
steht doch alles da…Fehler in Zeile 266 vom File “MK3_2560_LCD.h”
er kennt die Variable “wert” nicht
eventuell fehlende deklaration vom typ der variablen
(welche das ist musst du selber nachschauen)