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

[atmega128][bascom] karta SD

iryseee 14 Wrz 2008 18:06 3002 3
REKLAMA
  • #1 5535072
    iryseee
    Poziom 14  
    Witam wszystkich zainteresowanych wiem temat zapewne wałkowany nie raz, ale proszę o pomoc.
    Mianowicie chcę sobie zrobić zapis odczyt na karcie sd :

    1. Jak podłączyć tę kartę do atmegi128
    czy tak jest dobrze:

    ss--pin.10(at)---/cs--1(SD)
    sck-pin.11(at)---clk--5(SD)
    mosi-pin.12(at)-Data In-2(SD)
    miso-pin.13(at)-Data Out-7(SD)

    Dodano po 1 [godziny] 51 [minuty]:

    Wprowadziłem taki kod programu tak do testów:
    
    $regfile = "m128def.dat"
    $crystal = 12000000
    $baud = 9600
    
    '///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     Config Lcd = 20 * 4
     Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
    
     Config Pinb.0 = Output
     Config Pinb.1 = Output
     Config Pinb.2 = Output
     Config Pinb.3 = Input
    
     Config Spi = Soft , Din = Pinb.3 , Dout = Portb.3 , Ss = Portb.0 , Clock = Portb.1
    
     Declare Sub Res_mmc                                         'procedura zerowania karty MMC
    
    Dim A(8) As Byte
    Dim I As Word                                               'zmienna licznikowa
    Dim Odp As Byte                                             'zmienna przechowujaca odpowiedz z karty
    
    Cs Alias Portb.0                                            'zapis aliasu CS do linii PB.2
    Set Cs                                                      'ustawienie linii cs
    
    
    Spiinit                                                     'inicjacja interfejsu SPI
    Print " Inicjalizacja Spi"
    Print "Odczyt nazwy karty MMC"
    
    A(1) = Spimove(40)
    Print A(1) ; A(2) ; A(3) ; A(4) ; A(5) ; A(6) ; A(7) ; A(8)
    A(1) = Spimove(41)
    Print A(1) ; A(2) ; A(3) ; A(4) ; A(5) ; A(6) ; A(7) ; A(8)
    
    
    End                                                         'koniec programu
    


    i wyświetla mi takie odpowiedzi po resecie
    Inicjalizacja Spi
    Odczyt nazwy karty MMC
    2550000000
    630000000
    Inicjalizacja Spi
    Odczyt nazwy karty MMC
    2550000000
    630000000
    Inicjalizacja Spi
    Odczyt nazwy karty MMC
    630000000
    630000000
    Inicjalizacja Spi
    Odczyt nazwy karty MMC
    2550000000
    630000000
    Inicjalizacja Spi
    Odczyt nazwy karty MMC
    630000000
    630000000
    Inicjalizacja Spi
    Odczyt nazwy karty MMC
    630000000
    2550000000

    teraz mam pytanko to znaczy że karta mi odpowiada?

    Proszę zapoznać się z regulaminem oraz zasadami zakładania tematów , w dziale Mikrokontrolery.
    Proszę używać znaczników [code]
    [zumek]
  • REKLAMA
  • #2 5558522
    jacynka84
    Poziom 26  
    Spróbuj zapisać i odczytać z karty jakąś zmienną, wtedy będziesz wiedział.
  • REKLAMA
  • #3 9673563
    Dawid WAT
    Poziom 14  
    Din = Pinb.3 , Dout = Portb.3 ten sam port??
  • #4 9701255
    iryseee
    Poziom 14  
    Faktycznie ale gafa dzięki za podpowiedź i zainteresowanie.

    Dodano po 4 [minuty]:

    W wolnej chwili sprawdzę i dam znać jakie rezultaty.
REKLAMA