|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Boštjan Profesionalec
Pridružen/-a: Tor Mar 2004 22:48 Prispevkov: 100
|
Objavljeno: Sre Feb 27, 2013 9:34 pm Naslov sporočila: sd ne zapiše časa |
|
|
imam naslednjo kodo , ki zapiše za SD kartico čas in tri temperature. Vse deluje normalno le da mi ne izpiše na SD kartico časa. Izpis na SD kartice zgleda takole :,25,30,25 , na monitorju pa je izpis normalen 21:22,25,30,25 v čem je težava
koda:
'-------------------------------------------------------------------------------
'--- SD Card
'-------------------------------------------------------------------------------
Sd_card:
$lib "AVR-DOS.Lbx"
$include "Config_MMC.bas" 'include mmc
$include "Config_AVR-DOS.BAS"
I = Initfilesystem(1) 'init file system
If I <> 0 Then
Print "Napaka na SD kartici" 'se error
Print "NO SDCARD"
Return
End If
Waitms 300
Free_file = Freefile()
Print "Prosta datoteka:" ; Free_file
'*** odprem datoteko za pisanje
Open "Data.txt" For Output As #free_file
'*** Pisanje v odprto datoteko na kartici *********
Print Bcd(hour) ; ":" ; Bcd(minu) ; "," ; T1_1 ; "," ; T2_1 ; "," ; T3_1
Print #free_file , Bcd(hour) ; ":" ; Bcd(minu) ; "," ; T1_1 ; "," ; T2_1 ; "," ; T3_1
Waitms 200
Flush
Waitms 300
'*** Zaprem odprto datoteko ******
Close #free_file
Print "Kartica je zapisana!"
Return |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Čet Mar 07, 2013 8:23 am Naslov sporočila: |
|
|
Težko rečem.
Kadar naletim na kamen, preko katerega bi moral iti, pa ne morem, poizkusim naokrog.
V tvojem primeru bi izpred argumenta Bcd(hour) dodal še en argument, toliko da vidim, kako se obnaša. Tako bi print ukaz izgledal tako:
Koda: | Print #free_file , " "; Bcd(hour) ; ":" ; Bcd(minu) ; "," ; T1_1 ; "," ; T2_1 ; "," ; T3_1 |
To seveda ni razlaga, zakaj ti tako piše, je le nasvet, kako morda prideš okrog kamna. |
|
Nazaj na vrh |
|
|
senna Mojster
Pridružen/-a: Čet Jun 2011 21:14 Prispevkov: 23
|
Objavljeno: Čet Apr 10, 2014 11:59 am Naslov sporočila: |
|
|
Tema za to je pravilna! Imam naslednjo bascom kodo:
$regfile = "m32def.dat"
$crystal = 4000000
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40
$include "Config_MMC.bas" 'tu so definirani pini za komunikacijo s SD kartico (MISO, MOSI, CLK in SS)
$include "Config_AVR-DOS.bas"
'Konfiguriramo LCD
Config Lcd = 16 * 2 'definiramo LCD
Config Lcdbus = 4 'uporabljamo 4 podatkovna vodila
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.0
Cls
Dim I As Byte
Wait 1
I = Initfilesystem(1) 'inicializacija datotečnega sistem, številka particije je normalno (1), v spremenljivko I se nam zapiše rezultat napake (I=0 ni napake)
'Preverimo ali je prišlo pri inicializaciji do napake
If I > 0 Then
Locate 1 , 1
Lcd "Napaka: " ; I
End
Else
Lcd "Inicializacija OK!"
End If
Wait 1
'ODPIRAM DATOTEKO
Open "data.txt" For Append As #100
'PISANJE V ODPRTO DATOTEKO
Locate 2 , 1
Lcd "Pozdravljeni"
Print #100 , "Pozdravljeni"
'ZAPREM DATOTEKO
Close #100
End
Računalnik prevede program brez napak in ga pošlje v MEGAPIN. Na LCD-ju mi ob inicializaciji datotečnega sistema izpiše "NAPAKA 229". Po navodilih sem v datoteki Config_MMC.bas definiral:
Const Cmmc_soft = 1
ter pine:
CS-PINA.0, MOSI-PINA.1, SCK-PINA.2 in MISO-PINA.3.
V programu pa sem vključil dve knjižnice:
$include "Config_MMC.bas"
$include "Config_AVR-DOS.bas"
Kartico imam SD4GB, predhodno sem jo formatiral v FAT16 in tudi FAT32. Stiki so preverjeni! Ker imam dve MEGAPIN plošči sem preveril še na drugi! Javlja enako napako!
A je imel kdo podobne izkušnje?
Hvala! |
|
Nazaj na vrh |
|
|
senna Mojster
Pridružen/-a: Čet Jun 2011 21:14 Prispevkov: 23
|
Objavljeno: Čet Apr 10, 2014 4:08 pm Naslov sporočila: |
|
|
Vilko, prosim za pomoč! Po navodilih iz članka iz SE oziroma iz knjige "Programirajmo z Bascom - SD kartica in AVR-DOS datotečni sistem" mi nikakor ne uspe zapisati podatka na SD kartico!
Hvala! |
|
Nazaj na vrh |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Čet Apr 10, 2014 8:15 pm Naslov sporočila: |
|
|
Kateri tip SD kartice pa imaš.
Danes je težko dobiti SD, ponavadi so to SDHC, za ta tip kartice pa je treba uporabiti drug $include.
Pa mislim da je ura pri SD kartici skoraj nujna (nisem prepričan, že dolgo nisem dela z SD).
Ali imaš na MegaPin original podnožje za SD kartico ali zunanje?
Če imaš zunanje podnožje, potem ne pozabi izklopiti Pull up uporov na MegaPin-u.
Ali MegaPin dela v te primeru na 3V3 ali na 5V?
LP |
|
Nazaj na vrh |
|
|
senna Mojster
Pridružen/-a: Čet Jun 2011 21:14 Prispevkov: 23
|
Objavljeno: Čet Apr 10, 2014 9:17 pm Naslov sporočila: |
|
|
Probal sem z 4Gb ter staro 2Gb. Na stari 2GB piše samo SD micro 2GB. Megapin ima original podnožje za SD kartico. Napajanje imam 5V, zato imam sklenjene jumperje 40, 41 in 42, razklenjen pa je J26. Po navodilih bi naj bilo tako.
Prosim za nasvet! |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu You cannot attach files in this forum You cannot download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|