Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:software:homelab:library:module:sdcard [2012/02/14 10:03] raivo.sellet:software:homelab:library:module:sdcard [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== SD kaart ====== ====== SD kaart ======
-<note important>Koostamisel</note>+ 
 +//Seotud mooduliga: [HW] [[et:hardware:homelab:controller]]// 
 + 
 +See teegi osa sisaldab Kodulabori SD kaardi kasutamise funktsioone. 
 + 
 +===== Andmetüübid ===== 
 + 
 +  * **//static FATFS FATFS_Obj//** -  FATFS_Obj on FATFS andmestruktuuri instants.  Sisaldab ketaste identifikaatoreid. 
 + 
 +  * **//FIL fil_obj//** - Failisüsteemi andmestruktuur, kuhu salvestatakse failide identifikaatorid. 
 + 
 +  * **//DSTATUS//** - Koodid, mida kettaga seotud funktsioonid tagastavad. 
 +    * //RES_OK// - (0) Toiming õnnestus. 
 +    * //RES_ERROR// - (1) R/W viga. 
 +    * //RES_WRPRT// - (2) Kirjutuskaitstud. 
 +    * //RES_NOTRDY// - (3) Ketas ei ole valmis. 
 +    * //RES_PARERR// - (4) Mõni parameetritest on vale. 
 + 
 +  * **//FRESULT//** - Tähtsamad koodid, mida failidega seotud funktsioonid tagastavad. 
 +    * //FR_OK// - (0) Toiming õnnestus. 
 +    * //FR_DISK_ERR// - (1) Ketta I/O kihi viga. 
 +    * //FR_INT_ERR// - (2) Üldine ketta viga. 
 +    * //FR_NOT_READY// - (3) Ketas ei ole toiminguks valmis. 
 +    * //FR_NO_FILE// - (4) Faili ei leitud. 
 +    * //FR_NO_PATH// - (5) Aadressi ei leitud. 
 +    * //FR_INVALID_NAME// - (6) Vale faili nimeformaat. 
 +    * //FR_DENIED// - (7) Ketas on täis. 
 +    * //FR_EXIST// - (8) Juurdepääs on keelatud. 
 +    * //FR_INVALID_OBJECT// - (9) Faili / kausta objekt on vigane. 
 +    * //FR_WRITE_PROTECTED// - (10) Ketas on kirjutuskaitstud. 
 +    * //FR_INVALID_DRIVE// - (11) Ketta number on vale. 
 +    * //FR_NO_FILESYSTEM// - (13) Toetatud FAT failisüsteemi ei leitud. 
 +    * //FR_TIMEOUT// - (15) Kettaga ei saadud ühendust. 
 +    * //FR_INVALID_PARAMETER// - (19) Mõni parameeter on vale. 
 + 
 +  * **//ModeFlags//** - Faili võimalikud avamisrežiimid. 
 +    * //FA_READ// - Fail avatakse lugemisrežiimis. 
 +    * //FA_WRITE// - Fail avatakse kirjutusrežiimis. 
 +    * //FA_OPEN_EXISTING// - Avab faili. Kui faili ei ole, siis tagastatakse veakood. 
 +    * //FA_OPEN_ALWAYS// - Avab faili. Kui faili ei ole, siis loob selle. 
 +    * //FA_CREATE_NEW// - Loob uue faili. Kui fail on juba olemas, siis tagastatakse veakood. 
 +    * //FA_CREATE_ALWAYS// - Loob uue faili. Kui fail on juba olemas, siis kirjutatakse see üle. 
 + 
 + 
 + 
 +===== Funktsioonid ===== 
 + 
 +  * **//DSTATUS disk_initialize (BYTE drv)//** \\ 
 +   Seadistab ketta. Parameetrid: 
 +    * //drv// - Ketta number. Enamus juhtudel 0. 
 +    * Tagastab DSTATUS koodi. 
 + 
 +  * **//DSTATUS disk_status (BYTE drv)//** \\ 
 +   Näitab ketta olekut. Parameetrid: 
 +    * //drv// - Ketta number. Enamus juhtudel 0. 
 +    * Tagastab DSTATUS koodi. 
 + 
 +  * **//FRESULT f_mount (BYTE Drive, FATFS* FileSystemObject)//** \\ 
 +   Seadistab failisüsteemi. Parameetrid: 
 +    * //Drive// - Ketta number. Enamus juhtudel 0. 
 +    * //FileSystemObject// - Viit failisüsteemi objektile. 
 +    * Tagastab FRESULT koodi. 
 + 
 +  * **//FRESULT f_open (FIL* FileObject, const TCHAR* FileName, BYTE ModeFlags)//** \\ 
 +   Avab või loob faili. Parameetrid: 
 +    * //FileObject// - Viit failisüsteemi objektile. 
 +    * //FileName// - Faili nimi. 
 +    * //ModeFlags// - Avamisrežiimi lipp. 
 +    * Tagastab FRESULT koodi. 
 + 
 +  * **//FRESULT f_close (FIL* FileObject)//** \\ 
 +   Suleb faili. Parameetrid: 
 +    * //FileObject// - Viit failisüsteemi objektile. 
 +    * Tagastab FRESULT koodi. 
 + 
 +  * **//FRESULT f_read (FIL* FileObject, void* Buffer, UINT ByteToRead, UINT* ByteRead)//** \\ 
 +   Loeb failist etteantud arv baite andmeid. Parameetrid: 
 +    * //FileObject// - Viit failiobjektile. 
 +    * //Buffer// - Viit puhvrile, kuhu kirjutatakse loetud andmed. 
 +    * //ByteToRead// - Loetavate baitide arv. 
 +    * //ByteRead// - Viit muutujale, kuhu tagastatakse loetud baidid. 
 +    * Tagastab FRESULT koodi. 
 + 
 +  * **//FRESULT f_write (FIL* FileObject, const void* Buffer, UINT ByteToWrite, UINT* ByteWritten)//** \\ 
 +   Kirjutab faili etteantud arv baite andmeid. Parameetrid: 
 +    * //FileObject// - Viit failiobjektile. 
 +    * //Buffer// - Viit andmetele, mis kirjutatakse faili. 
 +    * //ByteToWrite// - Kirjutatavate baitide arv. 
 +    * //ByteWritten// - Viit muutujale, kuhu tagastatakse kirjutatud baidid. 
 +    * Tagastab FRESULT koodi. 
 + 
 +  * **//FRESULT f_sync (FIL* FileObject)//** \\ 
 +   Kirjutab puhvrites olevad andmed fail, et vähendada andmekadu voolukatkestuse korral. Kasutatakse rakendustes, kus fail on väga pikka aega avatud. Parameetrid: 
 +    * //FileObject// - Viit failiobjektile.    
 +    * Tagastab FRESULT koodi. 
 + 
 +  * **//FRESULT f_mkdir (const TCHAR* DirName)//** \\ 
 +   Loob kausta. Parameetrid: 
 +    * //DirName// - Kausta nimi.    
 +    * Tagastab FRESULT koodi. 
 + 
 +  * **//FRESULT f_unlink (const TCHAR* FileName)//** \\ 
 +   Kustutab faili või kausta. Parameetrid: 
 +    * //FileName// - Objekti nimi.    
 +    * Tagastab FRESULT koodi. 
 + 
 +  * **//FRESULT f_rename (const TCHAR* OldName, const TCHAR* NewName)//** \\ 
 +   Nimetab faili või kausta ümber. Parameetrid: 
 +    * //OldName// - Objekti vana nimi.  
 +    * //NewName// - Objekti uus nimi.    
 +    * Tagastab FRESULT koodi. 
 + 
 +  * **//TCHAR* f_gets (TCHAR* Str, int Size, FIL* FileObject)//** \\ 
 +   Loeb failist etteantud pikkusega stringi. Parameetrid: 
 +    * //Str// - Puhver, kuhu loetud andmed salvestatakse.  
 +    * //Size// - Stringi pikkus.   
 +    * //FileObject// - Viit failiobjektile.  
 +    * Tagastab Str puhvri, kui oli edukas. 
 + 
 +  * **//int f_putc (TCHAR Chr, FIL* FileObject)//** \\ 
 +   Lisab faili tähemärgi. Parameetrid: 
 +    * //Chr// - Tähemärk, mis lisatakse faili.  
 +    * //FileObject// - Viit failiobjektile.  
 +    * Tagastab 1, kui oli edukas. 
 + 
 +  * **//int f_printf (FIL* FileObject, const TCHAR* Foramt, ...)//** \\ 
 +   Lisab faili vormindatud stringi. Parameetrid:     
 +    * //FileObject// - Viit failiobjektile. 
 +    * //Foramt// - Stringi formaat.  
 +    * ...  
 +    * Tagastab kirjutatud märkide arvu, kui oli edukas. 
 +      
 +  * **//DWORD f_tell (FIL* FileObject)//** \\ 
 +   Kursori asukoht failis. Parameetrid:     
 +    * //FileObject// - Viit failiobjektile.     
 +    * Tagastab viitena lugemis/kirjutamiskursori asukoha failis. 
 + 
 +  * **//FRESULT f_lseek (FIL* FileObject,DWORD Offset)//** \\ 
 +   Viib kursori sooovitud asukohta failis. Parameetrid:     
 +    * //FileObject// - Viit failiobjektile.  
 +    * //Offset// - Soovitud asukoht baitides faili algusest.    
 +    * Tagastab FRESULT koodi. 
 +   
 + 
 + 
 +<pagebreak> 
 + 
 +===== Näide ===== 
 + 
 +<code c> 
 +#include <stdio.h> 
 +#include <homelab/module/ff.h> 
 +#include <homelab/module/diskio.h> 
 + 
 +int main (void) 
 +
 +    static FATFS FATFS_Obj; 
 +    FIL fil_obj; 
 + 
 + // SD kaardi initsialiseerimine.  
 + disk_initialize(0); 
 + 
 + // Failisüsteemi initsialiseerimine.  
 + f_mount(0, &FATFS_Obj); 
 + 
 + // Tekitatakse tekstifail "fail.txt"
 + f_open(&fil_obj, "/fail.txt", FA_CREATE_NEW); 
 + 
 + // Fail avatakse kirjutusreziimis. 
 + f_open(&fil_obj, "/fail.txt", FA_WRITE); 
 + 
 + // Faili kirjutamine. 
 + f_printf(&fil_obj, "SD Card test"); 
 +  
 +  // Faili sulgemine 
 + f_close(&fil_obj);  
 +
 + 
 +</code> 
et/software/homelab/library/module/sdcard.1329213831.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0