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

Atmega32 [C] potrzebuję pomocy w obsłudze SD/SDHC

Gildek 19 Sty 2010 14:40 2514 11
REKLAMA
  • #1 7558426
    Gildek
    Poziom 2  
    Witam,
    muszę w miarę możliwości szybko skończyć projekt a brakuje mi wiedzy w temacie obsługi SD przez Atmegę32. Poczytałem wątki na forum, poszperałem w necie i stwierdziłem, że jestem cienki Bolek aby to samemu w miarę szybko ogarnąć. Ktoś napisał, że do kumania bibliotek trzeba umieć dobrze posługiwać się wskaźnikami i strukturami a to właśnie jeszcze mi zbyt dobrze nie wychodzi:( Cały projekt dotyczy dekodowania plików mp3 odczytywanych z różnych folderów zapisanych na SD (dobrze by było obsługiwać też SDHC) w systemie plików FAT32 lub FAT16(dla mniejszych kart. Atmega32 ma współpracować z dekoderem VS1001k (raczej będzie to VS1011).
    Czy byłby ktoś skłonny pomóc mi w napisaniu kilku funkcji w C odczytujących pliki. W zasadzie to zwykły odtwarzacz mp3 ale nie mogłem znaleźć żadnego gotowca, który obsługiwałby to co mnie interesuje a więc: wybór foldera, przeskakiwanie do foldera umieszczonego wyżej lub niżej, przeskakiwanie do konkretnego foldera (np. trzeciego w kolejności), następny/poprzedni utwór, pauza, funkcja losowego odtwarzania utworów, otwieranie tylko mp3 i wav przy obecności innych plików w katalogu oraz kilka jeszcze innych mniej istotnych szczegółów.
    Jeszcze raz proszę o pomoc
    Gildek
  • REKLAMA
  • #2 7559503
    MarasK
    Poziom 18  
    było na forum na pewno - szukaj. Obsługa fat była wiele razy poruszana.
  • #3 7559622
    Gildek
    Poziom 2  
    Sorki, ale chyba nie do końca przeczytałeś co napisałem. Wiem, że było i czytałem co nieco :) Ale nie zmienia to faktu, że nadal potrzebuję czyjejś pomocy aby to wszystko ogarnąć i napisać kilka jak sądzę trywialnych dla fachowca funkcji. Jestem przekonany, żemimo iż było już o tym pisane to znajdę tu na Forum kogoś, kto wyciągnie do mnie pomocną dłoń o co baaaardzo proszę :D
  • REKLAMA
  • Pomocny post
    #5 7561053
    smolar758
    Poziom 10  
    Do ekspertów - proszę koleżeństwa, człowiek prosi o pomoc a nie o rady w stylu zrób to sam. Ja wiem, że wielu z Was posiada dużą wiedzę ale nie należy wszystkich równać do siebie (czytaj: poziomu wiedzy) czy też odsyłać do źródeł, z których się uczyliście. Gildek wprost napisał (chylę czoła za odwagę), że jest cienki w tym temacie i jeśli dobrze zrozumiałem to odrobił lekcje szukając w necie "źródeł" ale sie w nich nie może połapać co, jak i z czym. Nie zabierałbym też sam głosu na ten temat ale tak się składa, że i ja też jestem ciekaw jak np. step by step wykorzystać biblioteki Chana.
    Do Gildka - oj coś mi sie wydaje, że Kolega pomocy tu nie znajdzie :(. Większość "ekspertów" ma wiedzę zarezerwowaną dla siebie i niezbyt są chętni do dzielenia się nią.
    Cytat:
    muszę w miarę możliwości szybko skończyć projekt a brakuje mi wiedzy w temacie obsługi SD przez Atmegę32

    Chyba źle zacząłeś przyznając się do wszystkiego...
    Pozdrawiam
    Arek Smolar
  • REKLAMA
  • #6 7561343
    Konto nie istnieje
    Poziom 1  
  • #7 7561362
    __Grzegorz__
    Poziom 30  
    Na stronie, którą podałem jest naprawdę wszystko na talerzu:
    od tego jak działają karty SD/MMC,
    jak się do nich dostać przez SPI,
    obowiązkowy odnośnik do specyfikacji FAT Microsoftu,
    po przykładowe projekty na różne procesorki, gdzie użytkownik komunikuje się z prockiem przez RS-a, wymuszając określone działania na systemie plików.

    Proszę nie marudzić - tylko czytać ze zrozumieniem i stosować.

    W ostateczności można nawet nie wiedzieć jak działa FAT,
    w oparciu o przykłady można spokojnie uruchomić kod i dostosować go do własnych potrzeb.

    Kod jest napisany naprawdę uniwersalnie, uruchamiałem go na różnych procesorach, bezproblemowo, ale MUSIAŁEM przeryć się przez dokumentację i kod źródłowy.

    Pozdrawiam.
  • REKLAMA
  • #8 7561826
    rpal
    Poziom 27  
    __Grzegorz__ napisał:
    Na stronie, którą podałem jest naprawdę wszystko na talerzu:

    Jest tylko małe ale bo sample dla AVR są dedykowane dla Atmega128 lub 64. Atmega32 kol. Autora błyskawicznie pożegna się z pamięcią danych i programu. Żeby sobie bibliotekę dostosować do mniejszej pamięci kol. Autor będziej w niej już musiał nieco pogmerać, jednak przy odrobinie samozaparcia można się przez to przedostać. Chcąc jednak iść na łatwiznę trzeba sobie jednak zbudować układ ze schematu dołączonego do biblioteki, wówczas nie trzeba za wiele myśleć:)
  • #9 7562994
    Gildek
    Poziom 2  
    Jest tylko małe ale bo sample dla AVR są dedykowane dla Atmega128 lub 64. Atmega32 kol. Autora błyskawicznie pożegna się z pamięcią danych i programu. Żeby sobie bibliotekę dostosować do mniejszej pamięci kol. Autor będziej w niej już musiał nieco pogmerać, jednak przy odrobinie samozaparcia można się przez to przedostać. Chcąc jednak iść na łatwiznę trzeba sobie jednak zbudować układ ze schematu dołączonego do biblioteki, wówczas nie trzeba za wiele myśleć:

    No to jak mam sobie sam poradzić z problemem jak nie wiem nawet jak to wszystko ugryźć :?: Muszę wykorzystać właśnie Atmegę32. Może chociaż ktoś mógłby mi napisać po kolei co robić z biblioteką Chana. Znalazłem też Link może ktoś to już używał?
  • Pomocny post
    #11 7563577
    rpal
    Poziom 27  
    ten link od Rolanda moim zdaniem jest dużo lepszy bo biblioteka jest łatwiejsza w zrozumieniu choć niestety i uboższa w obsłudze. jeśli kolega da sobie na wstrzymanie do soboty to wyślę swoje źródło "wiedzy" na atmega32 bo teraz nie mam nic pod ręką. Uprzedzam jednak że przydałoby się źródło czasu i daty w układzie bo inaczej trzeba będzie "udawać" godzinę i datę :)
    Na początek zbuduj sobie układ dopasowujący logikę 3,3 V do TTL np. na buforze 74LVC08 (wiem że zaraz odezwie się ktoś z radą że wystarczą zwykłe oporniki) ale na mój gust to po to są bufory aby z nich korzystać i pobaw się w odczyt i zapis sektorów oraz komendami niezbędnymi do obsługi karty MMC/SD. W zasadzie do tego sprowadza się cała obsługa tych kart, czyli wyślij komendę, sprawdź status i odczytaj/zapis sektor w porcjach po 512B. Biblioteki na tym bazują i jedynie ułatwiają "ludzką" komunikację. Jakby się uprzeć do to tego co ci jest potrzebne nie potrzeba żadnego FAT-a niestety kosztem braku możliwości zapisu karty na PC-cie. To wcale nie jest głupi pomysł bo znacznie oszczędzia pamięć Atmegi a zrobienie sobie swojego "dos-a" na potrzeby odtwarzacza mp3 wcale nie byłoby trudne.Jak sam tego nie pojmiesz to nikt tego ci nie wytłumaczy
  • #12 8261828
    Gildek
    Poziom 2  
    "Elektdroda" mnie umpomniała za niezamknięcie tematu zatem:

    -skorzystałem z biblioteki Riedla i nie mam już problemów :)
    -zamiast bufora użyłem dzielnika z oporników 3k3 i 1k8.
    Temat zamykam :)
REKLAMA