-         

Ergebnis 1 bis 3 von 3

Thema: SD-Karte programm lässt sich nicht übersetzen - BASCOM-Bug?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.06.2008
    Beiträge
    113

    SD-Karte programm lässt sich nicht übersetzen - BASCOM-Bug?

    Anzeige

    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:
    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
    und hier die Fehlerausgaben:

    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
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken fail.png  

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi, die Libs findest du hier:
    http://members.aon.at/voegel/

    Gruß
    Christopher

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.06.2008
    Beiträge
    113
    Vielen dank, mit den neuen Libs funktioniert jetzt alles.
    Der ursprüngliche Fehler war, das "Const cmmc = 0|1" fehlte.

    Jetzt geht alles

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •