DomovLiteraturaSD kartica in AVR-DOS datotečni sistem

SD kartica in AVR-DOS datotečni sistem

I = Initfilesystem(1) 'init file system
If I <> 0 Then
 Print 'Init filesystem
 napaka ', I
 End
End if

Sedaj lahko odpremo datoteko na ‘disku’, MMC kartica se obnaša kot disk pod DOS sistemom.

Open "Data.txt" For Append As #9
 'create file  in MMC

Ime datoteke seveda lahko določimo po potrebi, tudi v samem programu, tako da sestavimo ime datotek v spremenljivki tipa String in potem je ime te spremenljivke prvi parameter ukaza Open, ime datoteke pa vsebina spremenljivke tipa String.

Sedaj lahko najlaže s Print ukazi pišem kakršnokoli vsebino v odprto datoteko. Le nekaj je potrebno vedeti. Datoteka mora biti zaključena z Close ukazom. Če se mikroprocesor kakorkoli sfiži zaradi napake v programu, ali motnje od zunaj, datoteke ne bomo videli na MMC-u.

Ko program zaključi delo s Close ukazom, lahko vzamemo MMC kartico iz ležišča, jo vtaknemo v čitalnik MMC kartic, ki je vezan na PC in tam se MMC kartica odpre kot izmenljiv disk, na njemu poiščemo našo datoteko in jo odpremo z wordpad ali notepade windows programom, lahko tudi z word-om in si jo ogledamo.

Če smo recimo imeli mikroprocesor zadolžen za beleženje raznih meteoroloških veličin, temperature, vlažnost, smer in hitrost vetra, in podobno, lahko že s Print ukazi priredimo stavke datoteke tako, da jih beremo recimo z excel programom, ki potem iz teh veličin naredi grafe.. Možnosti je toliko, kolikor vam jih fantazija da.

Na www.svet-el.si/download imate nekaj programov za vzorec (SD kartica.zip).

Poleg že omenjenih ukazov Driveinit, Initfilesystem, open, itd, vsebuje Timer prekinitveni podprogram, ki se aktivira vsakih 500 msec in postavi zastavico – bit tiflag.

Timer1_isr:
 Load Timer1 ,Timer1reload
 Incr Ticntr
 Set Tiflag
Return  

V zanki glavnega programa se sprašujemo, ali je ta zastavica postavljena, in če je, povečamo števec i in zapišemo i na MMC disk in pomožni izhod (Software uart)

Do
 If Tiflag = 1 Then
 Print #9 , I
 Print #2 , I
 Incr I
 Reset Tiflag
 End If

V zanki glavnega programa tudi poskrbimo za utripanje ledice:

 Fazapisem = I.0  

In za odtipavanje tipke:

 Debounce Tipka , 0 ,
 Tipkasr , Sr Config Tipka = Output

V slučaju pritiska na tipko, to zapišemo in postavimo števec i na vrednost, ki pomeni konec dela: