Pod atmege 128 podpieta mam karte MMC
chialbym zrobic sobie prosty zapis i odczyt korzystajac z MMC.LIB
moj kod do testu wyglada tak
i niestety przy zapisie dostaje błąd 230
a przy odczycie 229
chialbym zrobic sobie prosty zapis i odczyt korzystajac z MMC.LIB
moj kod do testu wyglada tak
$regfile = "m128def.dat"
$crystal = 16000000
$include "Config_MMC.bas"
$include "CONFIG_AVR-DOS.Bas"
Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0 , E = Porta.4 , Rs = Porta.5
Config Lcd = 16 * 2
Config Date = Dmy , Separator = .
Config Clock = Soft
Enable Interrupts
Time$ = "12:00:00" : Date$ = "05.05.03"
Dim Hhh As Byte
Cls : Lcd "sprawdzam karte ... " : Wait 1
If Drivecheck() = 0 Then
Hhh = Driveinit()
Lowerline : Lcd "karta " ; Hhh : Wait 2 'Hhh=225
Dim Berror As Byte
Dim Abuffer(512) As Byte
Dim Wsrampointer As Word
Dim Lsectornumber As Long
Wsrampointer = Varptr(abuffer(1))
Berror = Drivegetidentity(wsrampointer)
Cls : Lcd "OK " ; Berror : Wait 2 'Berror=232
Else
Cls : Lcd "Brak karty" : Wait 5
End
End If
Cls
Lcd "start zerowania"
Wait 1
Cls
For Lsectornumber = 0 To 512 'zapisz przypadkowe dane do buforu
Abuffer(lsectornumber) = 24 'Rnd(10)
Next Lsectornumber
Wsrampointer = Varptr(abuffer(1))
Lcd "pkt pam. " ; Wsrampointer
Wait 5
Lsectornumber = 34
Berror = Drivewritesector(wsrampointer , Lsectornumber) 'zapis na karte
Lowerline
Lcd "kod zap " ; Berror 'Berror=230
Wait 5
For Lsectornumber = 0 To 512 'wyczyść bufor
Abuffer(lsectornumber) = 0
Next Lsectornumber
Lsectornumber = 34
Berror = Drivereadsector(wsrampointer , Lsectornumber) 'odczyt danych z karty
Cls
Lcd "kod odcz " ; Berror
Lowerline 'Berror=229
Lcd "odczyt " ; Abuffer(1)
Wait 8
i niestety przy zapisie dostaje błąd 230
a przy odczycie 229