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

ATMega16 i karta MMC. Programowanie w Bascomie. Jakiś kod źródłowy?

Piotrek_P 28 Kwi 2006 10:05 2228 5
REKLAMA
  • #1 2570016
    Piotrek_P
    Poziom 18  
    Posty: 253
    Pomógł: 24
    Witam,

    Czy próbował ktoś z Was oprogramować kartę mmc na ATMega16 w Bascomie? Szukałem w necie przykładowych programów ale wszystkie jakie znalazłem napisane są na "duże" procki (M128, M103 itp.) lub są to przykłady w C. Mam już prawie gotowy projekt na M16, zostało mi tylko zrobić zapis i odczyt z karty i tak się zastanawiam czy ten procesor wystarczy. Wolnej pamięci programu zostało około 60%. Czy możecie coś doradzić? Oczywiście kod źródłowy mile widziany ;-).

    Pozdrawiam
    Piotrek
  • REKLAMA
  • #2 2570137
    migod
    Poziom 21  
    Posty: 462
    Pomógł: 29
    Ocena: 8
    Co prawda dla C, ale chyba daje jakieś pojęcie o tym, ile potrzeba wstukać kodu..

    http://www.roland-riegel.de/sd-reader/

    To też zależy - zapis/odczyt ale czego? Czy samych bloków po 512B (mało kodu), czy chcesz mieć kartę z FAT16/32 (dużo kodu)?

    Nie napisałeś też, przy użyciu którego protokołu SD_BUS, czy SPI_BUS? To zapewne też ma wpływ ;-)

    pozdro,
    --
    migod
  • REKLAMA
  • #3 2570207
    submariner
    Poziom 32  
    Posty: 2319
    Pomógł: 51
    Ocena: 268
    Jak chcesz w pelni korzystac z kart mmc/sd to minimum co chodzi w obie strony zapis/odczyt to atmega32 chodzi o system plikow fat32 atmega 16 ma za maly ram
    chociaz w poscie wyzej-link zrobili to tez na malym mozliwe ze tylko obsluga karty to wystarczy ja obslugi karty i przetwornikow ac na i2c nie zmiescilem.
  • REKLAMA
  • #4 2570246
    Piotrek_P
    Poziom 18  
    Posty: 253
    Pomógł: 24
    Myślę że zapis blokami po 512 bajtów w zupełności mi wystarczy. Zabawa w systemy plików FAT w tym projekcie byłaby przerostem formy nad treścią. Komunikacja z kartą będzie po SPI. Da radę w ten sposób? Mam ściągnięty z netu jakiś prog pod M128, może spróbuje go jakoś dostosować do moich potrzeb, ale jak by ktoś z Was miał jakieś przykłady i mógł się podzielić to bedę bardzo wdzięczny :-).

    Pozdrawiam
    Piotrek
  • REKLAMA
  • #5 2570282
    migod
    Poziom 21  
    Posty: 462
    Pomógł: 29
    Ocena: 8
    W tym przykładzie (podesłanym dwa posty wyżej), masz implementację na SPI. Przeportuj to na bascom (raczej nietrudne), wybierz co Ci potrzebne, na koniec zoptymalizuj (zyskałem w ten sposób 600B :D) i zobaczysz ile z tego Ci wyjdzie. Albo szukaj dalej na sieci ;-)

    Sam kod zależny od sprzętu zajmuje tak ok. 10-15 linijek. Więc jak po kompilacji okaże się, że Twój procek jest za mały, to źródła przeniesiesz małym kosztem na cokolwiek większego. Płytka wtedy pewnie do zrobienia na nowo..

    pozdro,
    --
    migod
  • #6 2897339
    Piotrek_P
    Poziom 18  
    Posty: 253
    Pomógł: 24
    Wymiana procka na ATMega32 rozwiązała problem. Dobrze że jest pinowo zgodna z ATMega16, więc nie było wiele roboty.

    Dziękuję wszystkim i zamykam temat.

    Pozdrawiam
    Piotrek
REKLAMA