Hi,
Ich habe heute versucht, eine SD-Karte (2GB) mit Bascom zu beschreiben.
Bei dem Code habe ich mich an dieses PDF gehalten.
Leider lässt sich das programm garnicht erst kompilieren und mit den Fehlern die Bascom ausspuckt kann ich nichts anfangen.
Hier ist der Code:
und hier die Fehlerausgaben:Code:$regfile = "M2560def.dat" $crystal = 16000000 $framesize = 100 $swstack = 100 $hwstack = 100 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , _ Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcd = 20 * 4 Waitms 10 Initlcd Waitms 10 Lcd "Hallo Welt!" Dim Sdbuffer(512) As Byte Dim Wsrampointer As Word Dim Temp As Word Config Portb.4 = Output ' define here Pin for CS of MMC/SD Card Mmc_cs Alias Portb.4 Set Mmc_cs ' If an other Pin than SS is used for MMC_SS, SS must be set to OUTPUT and high for proper work of SPI ' otherwise AVR starts SPI-SLAVE if SS-Pin is INPUT and goes to LOW Config Pinb.0 = Output ' define here Pin of SPI SS Spi_ss Alias Portb.0 Set Spi_ss ' Set SPI-SS to Output and High por Proper work of ' SPI as Master Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1 Spiinit ' Init SPI ' ‘Error Const Cperrdrivereset = 225 ' Error response Byte at Reset command Const Cperrdriveinit = 226 ' Error response Byte at Init Command Const Cperrdrivereadcommand = 227 ' Error response Byte at Read Command Const Cperrdrivewritecommand = 228 ' Error response Byte at Write Command Const Cperrdrivereadresponse = 229 ' No Data response Byte from MMC at Read Const Cperrdrivewriteresponse = 230 ' No Data response Byte from MMC at Write Const Cperrdrive = 231 Const Cperrdrivenotsupported = 232 ' return code for DriveGetIdentity, not supported yet Waitms 1 ' Wait some time before initialising MMC/SD Dim Gbdriveerror As Byte ' General Driver Error register $lib "MMC.LBX" ' link driver library $external _mmc Dim I As Word Dim Sectornr As Long Wsrampointer = Varptr(sdbuffer(1)) Gbdriveerror = Driveinit() ' Init MMC/SD Card Cls Lcd "Init: " Lcd Gbdriveerror For Temp = 1 To 512 Sdbuffer(temp) = 102 Next Locate 2 , 1 Lcd "vorbereiten..." Sectornr = 528 Gbdriveerror = Drivewritesector(wsrampointer , Sectornr ) 'dauert 25ms Locate 3 , 1 If Gbdriveerror = 0 Then Lcd "512 Bytes geschrieben" Else Lcd "Fehler " Lcd Gbdriveerror Lcd " schreiben" End If Locate 4 , 1 Lcd "Ende" End
Am Anfang wurden nur die beiden ersten Fehler angezeigt, aber dann habee ich in der mmc.lib rumgefummelt und dann sind diese Fehler aufgetaucht. Ich habe alles wieder zurückgeändert, aber die Fehler sind geblieben.
Ich habe auch keine Sicherung gemacht.
Asche auf mein Haupt![]()
![]()
Könnte mir jemand die mmc.lbx oder mmc.lib schicken?
Ich habe die Vollversion 1.11.9.3







Zitieren

Lesezeichen