logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega 32 microSD 2 GB lcd nokia 6100

ugh123 26 Mar 2010 22:45 6042 9
REKLAMA
  • #1 7884421
    ugh123
    Poziom 13  
    Cześć wszystkim ;)
    Pisze w sprawie takiej ze postanowiłem połączyć atmege32 i kartę microSD 2 gb i tu sie pojawiaja problemy a mianowicie program nie pokazuje mi pojemnosci karty niby inicjacja przebiega ok ale cos nie tak nizej wstawiam kod programu

    $regfile = "m32def.dat"
    $crystal = 8000000
    $lib "Lcd-pcf8833.lbx "                                     'special color display support                                         '8 MHz
    Config Graphlcd = Color , Controlport = Portc , Cs = 3 , Rs = 2 , Scl = 0 , Sda = 1
    
    Const Blue = &B00000011                                     'predefined contants are making programming easier
    Const Yellow = &B11111100
    Const Red = &B11100000
    Const Green = &B00011100
    Const Black = &B00000000
    Const White = &B11111111
    Const Brightgreen = &B00111110
    Const Darkgreen = &B00010100
    Const Darkred = &B10100000
    Const Darkblue = &B00000010
    Const Brightblue = &B00011111
    Const Orange = &B11111000
    Glcdcmd &H36                                                'Mem_control
    Glcddata &H48                                               'My=0 Mx=0 V=1 Lao=1 Rbg=0 "00110000"
    Glcdcmd &H21
    
    Config Clock = Soft
    Config Watchdog = 2048
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
    Start Timer1
    Pwm1a = 150
    Cls
    $include "CONFIG_AVR-DOS.Bas"
    '$include "AVR-DOS.LBX"
    '---SPI-HW----------------------------------------------------------------------
    Const Cmmc_soft = 0                                         'SPI HARDWARE
    
       ' define Chip-Select Pin
       Config Pinb.4 = Output                                   ' define here Pin for CS of MMC/SD Card
       Mmc_cs Alias Portb.4
       Set Mmc_cs
    
       ' Define here SS Pin of HW-SPI of the CPU (f.e. Pinb.0 on M128)
       Config Pinb.7 = Output                                   ' define here Pin of SPI SS
       Spi_ss Alias Portb.7
       Set Spi_ss                                               ' Set SPI-SS to Output and High por Proper work of
                                                      ' SPI as Master
    
       ' HW-SPI is configured to highest Speed
      Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1       'Config Spi = Soft , Din = Pinb.3 , Dout = Portb.2 , Ss = Portb.0 , Clock = Portb.1
       Spsr.0 = 1                                               ' Double speed on ATMega128
       Spiinit                                                  ' Init SPI
    
    'Spiinit
    ' 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 700
    Dim Gbdriveerror As Byte                                    ' General Driver Error register
    Dim Gbdriveerrorreg As Byte                                 ' Driver load Error-Register of HD in case of error
    Dim Gbdrivestatusreg As Byte                                ' Driver load Status-Register of HD on case of error
    Dim Gbdrivedebug As Byte
    Dim B As Word
    Dim C As Word
    Dim Wolne As Long
    Dim Rozmiar As Long
    Dim S As String * 96
    S = Dir()
    $lib "MMC.LIB"                                              ' link driver library
    $external _mmc
    Enable Interrupts
    Box(0 , 0) -(130 , 130) , White
    Gbdriveerror = Driveinit()
    B = Initfilesystem(1)
    C = Drivecheck()
    'start watchdog
    'Wolne = Diskfree()
    'Rozmiar = Disksize()
    Setfont Color8x8
    Cls
    Lcdat 10 , 10 , "Init - " ; B , Black , White
    Wait 2
    Lcdat 20 , 10 , "Stan - " ; C , Black , White
    Wait 1
    Lcdat , 30 , 10 , "Spraw. - " ; Gbdriveerror , Black , White
    Wait 1
    Lcdat , 40 , 10 , "Rozmiar - " ; Disksize() , Black , White
    Wait 1
    'Lcdat , 50 , 10 , "Wolne - " ; Diskfree() , Black , White
    'Wait 1
    Lcdat . 60 , 10 , "Katalog - " ; S ; Black , White
    
    
    
    
    
    
    
    End
    
    $include "color8x8.font"


    Prosze o pomoc w rozwiazaniu tego problemu poniewaz w bascom jestem mozna powiedziec "raczkujacy" jezeli chodzi o avr-dos i obsluge kart .
    Dodam ze karte o pojemnosci 2 GB formatowalem systemem FAT nie FAT32

    Serdecznie pozdrawiam Bartek
  • REKLAMA
  • #3 7902845
    ugh123
    Poziom 13  
    Dzięki za linka :) Problem rozwiązałem tak że zastosowałem karte o mniejszej pojemności tzn . 512 MB i działa ;D kod który wstawiłem wyżej obsługuje FAT i FAT 32 . Ale dziwi mnie jedna rzecz mianowicie dlaczego nie "widzi" tej drugiej karty 2 GB formatowałem ja jako FAT i jako FAT32 i nic proszę o pomoc w rozwiązaniu mojego problemu ;) z góry dziękuje , Bartek
  • REKLAMA
  • #4 7907522
    leon1313
    Poziom 15  
    a jaki kod błędu ci wywala AVR-DOS?
  • REKLAMA
  • #6 7924359
    leon1313
    Poziom 15  
    No niestety niektóre karty nie ruszą na AVR-DOS. Ja mam taką jedną i nie chce gadać z prockiem.
    Ach, bym zapomniał- ustaw w konfiguracji AVR-DOS ilość pamięci RAM wykorzystywanej przez ten moduł, bo z default-u łyka chyba wszystko :-)
  • #7 7924657
    ugh123
    Poziom 13  
    Ok już dałem spokój tej nie działającej karcie ;) a mam pytanie jak zrobić żeby otwierać pliki *.bgc z karty pamięci ? Bo otwieranie tych plików z pamięci flash czy eeprom to nie problem ale mi zależy żeby odczytywać je z karty . Pozdrawiam serdecznie Bartek :)
  • REKLAMA
  • #8 7932302
    leon1313
    Poziom 15  
    Plik to plik, rozszerzenie tu nie ma znaczenia.
REKLAMA