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

Petit FAT, przykład implementacji obsługi FAT na małe AVR.

markosik20 18 Lut 2011 11:42 27178 83
  • #1 9166271
    markosik20
    Poziom 33  
    Wszyscy znają FatFs, jednak "małe" AVR'y posiadają za małe zasoby Flash'a i RAM'u aby go wykorzystać. Na podstawie FatFs powstał Petit FAT http://elm-chan.org/fsw/ff/00index_p.html. Jest to okrojona wersja do minimum projektu FatFs.
    Biblioteka z funkcją tylko do odczytu potrzebuje około 1,7kB Flash oraz 44B RAM'u w przypadku skierowania strumienia danych NIE DO TABLICY.
    Poniżej prosty opis imlpementacji projektu.
    Wszystkie podstawowe informacje autor umieścił na stronie. Gdyby pojawiły się pytania dotyczące implementacji z Petit FAT , proszę pisać, postaram się na wszystkie odpowiedzieć.

    Sciągamy sobie projekt: http://elm-chan.org/fsw/ff/pfsample.zip
    w Katalogu avr jest gotowy projekt dla Attiny85. Po odpaleniu (bez żadnych zmian) wszystko się ładnie kompiluje
    Petit FAT, przykład implementacji obsługi FAT na małe AVR.
    Ale chcemy tylko odczyt więc odhaczamy odpowiednie opcje w pff.h
    Petit FAT, przykład implementacji obsługi FAT na małe AVR.
    W pliku main zostaje to co nas interesuje:
    Petit FAT, przykład implementacji obsługi FAT na małe AVR.
    Wywalamy całego void main (void) i wklejamy stąd http://elm-chan.org/fsw/ff/pf/open.html
    Petit FAT, przykład implementacji obsługi FAT na małe AVR.
    Kasujemy błędy
    Petit FAT, przykład implementacji obsługi FAT na małe AVR.
    w
    do
            res = pf_read(0, 512, &br);  // Send data to the stream
        while (res || br != 512);        // Break on error or eof
    

    zamiast 0 można podać wskaźnik do bufora danych (wtedy dane nie będą trafiać do strumienia danych).
    Pozostaje kwestia zmiany na np: Atmegę8, a jakby kto chciał to na Atmegę32, wszystko znajduje sie w pliku mmc.c
    Petit FAT, przykład implementacji obsługi FAT na małe AVR.
    W plikach
    Petit FAT, przykład implementacji obsługi FAT na małe AVR.
    Znajdują się już funkcje konfiguracyjne i komunikacyjne dla SPI i UART...ale myślę że to nie problem przerobić na inny model AVR'a?
  • #2 9378554
    sirmrowa
    Poziom 10  
    Witam

    Próbuje uruchomić ten moduł na atmega8 jednak mam problemy z kodem w asemblerze do obsługi spi.

    out	_SFR_IO_ADDR(USICR), r24

    usi.S:19: Error: constant value required
    usi.S:19: Error: number must be positive and less than 64


    out	_SFR_IO_ADDR(USIDR), r24	; Put a byte to be transmit

    usi.S:64: Error: constant value required
    usi.S:64: Error: number must be positive and less than 64


    in	r24, _SFR_IO_ADDR(USIDR)	; Get received byte

    usi.S:71: Error: constant value required
    usi.S:71: Error: number must be positive and less than 64
  • #3 9385122
    drzasiek
    Specjalista CNC
    markosik20 - A czy próbowałeś przerobić ten kod na jakiś inny AVR? np M8 lub M32? Czy to tylko teoretyczne założenia?
    Podałeś dokładnie tą samą instrukcję w usuniętym przez moderatora temacie, próbowałem wtedy korzystając z tej instrukcji uruchomić to na M8, potem też na M32 i lipa. ASM nie znam, przerabiałem biblioteki SPI wg noty atmegi ale mim prób karta się nie inicjalizowała.
    Wkońcu zabrałem się za biblioteki dharmaniTech i odpaliły od kopa. Wywaliłem całego UARTA i jestem na etapie pisania i przeróbki funkcji pod obsługę sprzętową w urządzeniu przenośnym a nie tylko przez terminal i USART. Biblioteki Petit wydają się lepsze, mniej przeróbek by było ale czy ktoś przerobił SPI na jakąś atmegę tak żeby działało?
  • #4 9385273
    mirekk36
    Poziom 42  
    drzasiek napisał:
    ... czy ktoś przerobił SPI na jakąś atmegę tak żeby działało?


    Myślę, że wiele osób przerobiło. Wśród nich ja także. Działa bardzo dobrze, fajnie i przyzwoicie. U mnie akurat na ATmega32.
  • #5 9385334
    drzasiek
    Specjalista CNC
    mirekk36 napisał:

    Myślę, że wiele osób przerobiło. Wśród nich ja także. Działa bardzo dobrze, fajnie i przyzwoicie. U mnie akurat na ATmega32.

    Tak, ale mnie (z resztą penie nie tylko mnie) interesowałyby bardziej osoby które zrobiły i zechciałyby się podzielić.
    Z jaką kartą to uruchomiłeś? SD czy MMC? Bo Czytałem gdzieś, że biblioteki elm miewają problemy z kartami SD, natomiast dobrze sprawują się z kartami mmc. Ja próbowałem tylko na SD kingstona 2GB, byś może z winy karty mi się nie udało. Zabrakło mi cierpliwości do tych bibliotek i w przerwie zrobiłem drugi oscyloskop, ale teraz znów czas zabrać się za karty pamięci. Z bibliotekami dharmani nie mam problemów, już napisałem sporo funkcji, dobrze byłoby też uruchomić fatFS.
  • #6 9385713
    mirekk36
    Poziom 42  
    Uruchamiałem zarówno PetitFat jak i FatFS z równym powodzeniem. Mnie nic nie wiadomo na temat problemów obu tych rozwiązań z kartami SD. Ja zresztą odpalałem to tylko na kartach SD i nigdy żadnego, nawet najmniejszego problemu nie miałem. Jak już to tylko na początku jak je poznawałem i nie wiedziałem jeszcze co i jak. Zatem wynikało to wtedy tylko z moich błędów i niewiedzy.

    Hmmm opisać to ... jak się tym zająć, jak przerobić .... w sumie to musiałoby zająć sporo miejsca taki opis. Tu na forum - chyba bym nie dał rady. Jak widać kolega markosik20 zrobił to. Podał ogólny przepis a co do reszty też zaprasza na PRIV - to nie dziwne - bo ciężko to tak w 2 zdaniach opisać. Dlatego ja poświęciłem temu sporo kartek w książce. A najważniejsze jest w obu przypadkach przygotowanie prawidłowo działającej warstwy fizycznej a jeśli chodzi o PetitFat jeszcze jednej rzeczy - przystosowania czy przerobienia części fizycznej z przykładów z USI na TWI. Ale to też można spokojnie zrobić.

    Wg mnie, choć to wcale nie jedynie obiektywne zdanie, posługiwanie się tymi bibliotekami jest o wiele wygodniejsze niż innymi także w aspekcie tego, że możemy działać normalnie na plikach w systemach FAT a nie bezpośrednio na sektorach.
  • #7 9385739
    drzasiek
    Specjalista CNC
    Ja nie potrzebuję opisu jak przerobić te biblioteki po patrząc na nie można samemu wszystko połapać. Nie jest to takie trudne. Jedyny problem jak widać nie tylko mój to te nieszczęsne funkcje obsługi napisane w asemblerze. Mimo wielu prób nie udało mi się tego uruchomić, zwykle w takich przypadkach problem jest mniejszy niż się wydaje, jakiś szczegół mały zwykle robi najwięcej kłopotów. Dlatego nic nie trzeba tłumaczyć tylko wrzucić do pobrania napisane w C funkcje dla SPI. To wszystko, nie trzeba się rozpisywać, minuta roboty dla kogoś życzliwego i po problemie.
  • #8 9385785
    mirekk36
    Poziom 42  
    drzasiek napisał:
    Dlatego nic nie trzeba tłumaczyć tylko wrzucić do pobrania napisane w C funkcje dla SPI. To wszystko, nie trzeba się rozpisywać, .


    Skoro kolega wie lepiej jak to zrobić bez tłumaczenia i rozpisywania się ??? .... no to tylko życzyć powodzenia. Mam nadzieję, że jak już kolega to zrobi to wrzuci tutaj takie coś bez tłumaczenia co i jak....

    Ja np już się dziwię o co chodzi z tym rzekomym asemblerem, z jakim w ogóle asemblerem ??? ... no ale ok nawet nie będę dopytywał o tłumaczenie czegokolwiek, bo przecież można bez.
  • #9 9385806
    drzasiek
    Specjalista CNC
    Twoja pomoc zwykle polega na tym, że powiesz że to jest dużo pisania a na końcu i tak skończy się reklamą książki. Aż dziw, że jeszcze to nie zostało ukrócone, regulamin mówi coś na temat reklamy w tego typu odpowiedziach. Nie będę się kłócił, już tego typu temat był na forum. Powiedziałem tylko z czym ja mam problem, a mianowicie karta mi się nie inicjalizowała więc przypuszczałem, że gdzieś mam błąd z obsłudze transmisji. I bynajmniej nie proszę o kody obsługi bo chcę gotowca dlatego, że samemu mi się nie chce ale po prostu czasem tak jest, że utknie się w martwym punkcie i ciężko ruszyć.
    Dla mnie temat skończony, pytanie co do przeróbki na inny model AVR z założenia było do markosik20 albo do innych użytkowników, nie do Ciebie bo Ciebie zdaje się o to już pytałem ale w odpowiedzi otrzymałem.. no właśnie.. wyczerpującą lekturę nie na temat o który pytałem a na końcu stwierdzenie, że nie masz czasu tłumaczyć i oczywiście reklama książki.
    Ja nie lubię korzystać z gotowców, zwykle wszystkie biblioteki dokładnie analizuje i przerabiam po swojemu. Do niektórych LCD pisałem nawet swoje LCD. Z tymi bibliotekami utknąłem więc chciałem spróbować sprawdzonego rozwiązanie bo nie wiem czy jest sens szukać gdzie mam błąd skoro w paru źródłach znalazłem informację o problemach tych bibliotek z niektórymi kartami SD..
  • #10 9385888
    mirekk36
    Poziom 42  
    Grzecznie się ciebie zapytałem o jakim asemblerze piszesz w aspekcie PetitFAT ? .... Przerobione pliki do obsługi warstwy fizycznej masz przecież gotowe w przykładach dla AVR na stronach autora. Fakt tam są przykłady z USI np dla ATtiny85 zdaje się.... Ale nie ma to nic wspólnego z asemblerem dlatego pytałem, żeby ew się dowiedzieć co mógłbym tak na szybko podpowiedzieć jeśli już i tak masz to wszystko że tak powiem rozgrzebane i siedzisz w tym teraz po uszy.

    Sama przeróbka USI na TWI dostarczonego pliku źródłowego z przykładów ze strony autora chyba nie powinna być dla ciebie problemem - to tylko zamiana na prawdę tylko kilku funkcji w czystym C. Za to faktem jest , że biblioteki te wymagają (przynajmniej ja tak miałem) sporo rozgryzania na początek - dlatego wydają się być trudne i stąd krążące opinie, że coś tam w nich nie działa. A na to rozgryzanie jednak składa się przeróbka w kilku różnych plikach żeby dostosować je do swoich potrzeb. I to o tym warto podyskutować - no ale to z kimś kto chce dyskutować a nie z kimś kto chce gotowca, którego nie ma.

    Pomimo to dam ci jedną podpowiedź może cię to naprowadzi - wszystko co związane jest z asemblerem w przykładowym rozwiązaniu PetitFat ze strony autora możesz bez zająknięcia WYCIĄĆ wprost z kodu - niczym tego nie zastępując żeby odpalić tę bibliotekę albo przerobić sobie to na swoją własną transmisję RS232.
  • #11 9386139
    markosik20
    Poziom 33  
    Przyznam się że nie uruchamiałem biblioteki na żadnym z AVR'ów, ale bez problemu działała na STM32 oraz LPC1754.
    Jeżeli chodzi o błędy dt. funkcji napisanych w pliku wystarczy je sobie przerobić pod stosowany AVR. Jeżeli nie znamy asm tworzymy nowy plik .c a w nim umieszczamy funkcje o nazwie takiej samej jak w pliku usi.S. Linker sam zadba o ich znalezienie.

    Petit FAT, przykład implementacji obsługi FAT na małe AVR. Petit FAT, przykład implementacji obsługi FAT na małe AVR.
  • #12 9386329
    drzasiek
    Specjalista CNC
    markosik20 napisał:

    Jeżeli chodzi o błędy dt. funkcji napisanych w pliku wystarczy je sobie przerobić pod stosowany AVR. Jeżeli nie znamy asm tworzymy nowy plik .c a w nim umieszczamy funkcje o nazwie takiej samej jak w pliku usi.S.

    Tak też właśnie robiłem, zakomentowałem funkcje ASM i utworzyłem nowy plik c w którym umieściłem funkcję inicjalizacji SPI, rcv oraz xmit, mimo to nie działało. Potem odpuściłem a teraz zabrałem się za biblioteki dharmani i piszę na ich podstawie nowe funkcję takie jak dir, read, memory, delete itd z których każda to osobna funkcja która zwraca odpowiednie wartości dla powodzenia lub niepowodzenia oraz do podanego w argumencie wskaźnika do bufora zapisuje np bajty a nie jak w orginale, że cała obsługa odbywała się przez terminal. Myślę, że bardziej przydatne są biblioteki, które można zastosować w mobilnym urządzeniu czyli wyświetlacz, uc, klawisze i karta i można się bez użycia komputera po nich poruszać, czytać, listować, usuwać, zapisywać itd. ; do pracy na plika z poziomu komputera mam czytnik więc cały Uart, interfejs z komputerem jest jak dla mnie zbędny. Dlaczego chciałem uruchomić biblioteki fatFS? Bo byłoby mniej przeróbek do moich zastosować, no ale nie udało mi się uruchomić więc narazie odpuściłem te a pracuję na bibliotekach dharmani.
    I nie ma się tu co obruszać, że czekam na gotowca czy coś. Chętnie bym podyskutował na forum, chętnie posłuchał co ludzie którzy to uruchamiali mają do powiedzenia ale niestety mało jest ludzi którzy chcą opisać to na forum. Kiedyś wyszedłem z inicjatywą stworzenia tematu, w którym będzie baza dla innych odnośnie korzystania z bibliotek obsługi kart pamięci ale wiadomo jak się to skończyło.
  • #13 9386363
    Klima
    Poziom 31  
    Nie rozumiem o co ci chodzi. No z tym FatFS jest trochę grzebania, ale zapewniam Cię, że wszystko da się przerobić tak, jak tego chcesz. Być może nie zauważyłeś, że jeszcze jakiś drobiazg poza operacjami zapisu i odczytu SPI musisz zmienić.
    Nie musisz mieć terminala. Ja na tym FatFS zrobiłem sobie 2 rejestratory i działają, że tak powiem "standalone". Petita nie używałem, bo w moim zastosowaniu rozmiar pliku rośnie (co też powoduje problemy - biedna karta ma zryte tablice do imentu - myślę, że to właśnie jest powodem pojawiania się od czasu do czasu błędów).
  • #14 9390258
    markosik20
    Poziom 33  
    drzasiek napisał:

    Potem odpuściłem a teraz zabrałem się za biblioteki dharmani i piszę na ich podstawie nowe funkcję takie jak dir, read, memory, delete itd z których każda to osobna funkcja która zwraca odpowiednie wartości dla powodzenia lub niepowodzenia oraz do podanego w argumencie wskaźnika do bufora zapisuje np bajty a nie jak w orginale, że cała obsługa odbywała się przez terminal.


    Ta obsługa przez terminal to tylko przykład. Funkcje użyte w PetitFs również zwracają informacje. Najważniejszą z nich jest
     DSTATUS disk_initialize (void)
    {......
    która informuje nas o stanie podłączonej karty.
    Trzeba zawsze zaczać od początku:
    1. Prawidłowo zainicjalizować kartę, czyli disk_initialize musi zwrócić RES_OK (0), jeżeli zwróci co innego nie zajmujemy się dalszą częścią biblioteki bo nie ma sensu;
    2. Później trzeba "podłączyć/zamontować " dysk. Biblioteka szuka (funkcja pf_mount) w pierwszym sektorze karty boot_sektora oraz później tablicy FAT. Jeżeli zwróci niepowodzenie trzeba spróbować sformatować dysk w czytniku kart (czasami systemy rożnie to formatują). Pamiętajmy że ma to być max FAT32. Jeżeli pomimo tego dalej jest problem są programy do odczytu tego sektora i możemy sobie sprawdzić jak system sformatował naszą kartę. Funkcja pf_mount również zwraca informacje o stanie swojego wykonania.
    Najczęstszym błędem jaki popełniają użytkownicy biblioteki to niepoprawnie skonfigurowany interfejs SPI do komunikacji z kartą i/lub niepoprawne podłączenie fizyczne z kartą. Biblioteka obsługuje zarówno karty w I jak II standardzie.
    Uruchamianie takich bibliotek bez debuggera (w AVR ten debugger działa jak działa) też jest "męczące". Zawsze można sobie dopisać "uartowy" debbuger...ja w swoich aplikacjach taki stosuje....nawet w ARM'ach w których w standardzie jest zawsze JTAG lub SWD.
    Ważną informacją jest to że biblioteki FS "żyją" czyli co jakiś czas wychodzą nowsze wersje. Pamiętam że na początku też się trochę przeraziłem jak zobaczyłem w jakim stylu jest pisana. Ale proszę mi uwierzyć że nie trzeba się aż tak mocno zagłębiać w źródła, trzeba po prostu przyjąć że funkcjonują poprawnie....co w rzeczywistości okazuje się zawsze prawdą.
    Dla użytkownika najważniejsze są:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Opisu chyba nie trzeba tłumaczyć :wink:.
    Można je sobie stworzyć jako funkcje lub makra, w języku C++, C lub asm.
    __________________________
    Jedna mała uwaga.
    Przed zainicjalizowaniem karty należy poczekać aż napięcie na niej się ustabilizuje (nawet do 500ms w zależności od karty). Niektórzy użytkownicy piszą że na innych bibliotekach przy tych samych ustawieniach karta się zgłasza a w PetitFS nie. PetitFS jest napisany profesjonalnie i zgodnie ze specyfikacją SD wystarczy raz wysłać komendę inicjalizującą (nie dla pewności 250 razy jak jest w innych bibliotekach).
    Status NO_DISK dotyczy tylko FatFS gdzie status ten jest czytany z osobnego/oddzielnego pinu jaki udostępnia samo złącze karty (oczywiście można sobie taką obsługę dopisać do PetitFS).
    W funkcji
    Kod: text
    Zaloguj się, aby zobaczyć kod

    jest pętla opóxniająca (bardzo ważna)
    Kod: text
    Zaloguj się, aby zobaczyć kod

    jeżeli jako
    Kod: text
    Zaloguj się, aby zobaczyć kod

    użyjemy
    Kod: text
    Zaloguj się, aby zobaczyć kod

    jaka jest wbudowana w WinAVR kompilator może różnie to zinterpretować w zależności od ustawień. Trzeba zadbać aby to opóźnienie na 100% wystąpiło.
  • #16 9396132
    sirmrowa
    Poziom 10  
    Czy mógł byś wstawić działający kod tych 3 funkcji ?

    Dopiero zaczynam zabawę z C i elektroniką i nie potrafię sobie z tym poradzić :(
  • #17 9396323
    drzasiek
    Specjalista CNC
    Z pozdrowieniami dla tych, którzy uruchamiali fatFS na atmedze ale się nie podzielili wrzucam projekt pod ATMEGA32.
    Załączniki:
  • #18 9396403
    sirmrowa
    Poziom 10  
    Dzięki

    Zadziałało :)
  • #19 9448288
    mrh
    Poziom 18  
    Czy ktoś z Was wiem jak użyć funkcji:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #20 9448900
    drzasiek
    Specjalista CNC
    Chociażby tak:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    0 oznacza katalog root(główny), możesz wpisać zamiast 0 w "ścieżka do pliku" lub wstawić tablicę z zapisana nazwą
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    odczytuje ci pierwszy plik w otwartym katalogu

    Możesz też np tak:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Odczytany zostanie 5 plik w katalogu
    A potem możesz to wyświetlić np:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Albo zapisać do tablicy nazwę pliku
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #21 9449311
    mrh
    Poziom 18  
    To żeby odczytać np. zawartość folderu "ABC" to trzeba:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    A potem użyć tej drugiej funkcji ?
  • #22 9449509
    drzasiek
    Specjalista CNC
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Bez tego backslasha. Funkcja jak wyżej otworzy ci katalog o nazwie ABC znajdujący się w katalogu głównym. A żeby otworzyć katalog znajdujący się w katalogu ABC dajesz analogicznie:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #23 9451982
    mrh
    Poziom 18  
    Dzięki drzasiek, wszystko pięknie działa.

    Mam jeszcze problem z odczytem całego pliku tekstowego... a mianowicie odczytuje mi cały tylko że funkcja się zapętla i cały czas mi wyświetla ostatnie 256 bajtów.
    I nie wiem jak z tej pętli wyjść.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #24 9452282
    drzasiek
    Specjalista CNC
    Pewnie się niektórym krew gotuje, że udzielam tu tak "tajnych" informacji..
    Co do funkcji pf_read to po prostu załóż sobie końcowy numer bajtu jaki chcesz odczytać:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Albo dorzuć sobie w pętli do prostą pętelkę sprawdzającą tablicę czy jest coś zapisane czy już jest pusta.. i jak będzie pusta to niech cię break'iem wywala.
    Nie wiem, może są lepsze o prostsze sposoby ale ja nie siedziałem zbytnio długo nad rozszyfrowaniem tych bibliotek, zrobiłem wszystko po swojemu.
  • #25 9454055
    markosik20
    Poziom 33  
    Definicja struktury
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    którą deklarujemy np: jako

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    możemy wykorzystać do sprawdzania końca pliku np:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Z kolei
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    wskazuje na aktualne dane jakie są odczytywane/zapisywane z/do pliku.
    Parametr ten przy każdym odczycie jest zwiększany o wielkość odczytanych bajtów.
  • #26 9454537
    hexen2k
    Poziom 16  
    Pytanie do osób które uruchamiały tę bibliotekę: mieliście problemy z montowaniem partycji z karty SD ? Próbowałem na kilku różnych kartach - za każdym razem nie może zamontować partycji. Odczyt informacji o karcie mam ale jeśli chcę juz ją zamontować to wywala błędy ;( Tak samo mam na FatFS. Próbowałem na kartach 32MB SD, 128microSD + adapter, 512MD SD, 2GB microSD + adapter, 4GB SDHC

    Jakoś specjalnie to trzeba formatować ? Już się zniechęcam do tych bibliotek powoli a tak bardzo chciałbym je uruchomić... (zapis wyników pomiarów z czujników DS18B20)

    Karta jest podłączona do Atmega32 za pomocą bardzo prostego adapterka/przejściówki wykonanego na 74LVC125AD który redukuje 5V z uC na 3V3 do karty SD (przez układ podłączone linie SS,MOSI,SCK, natomiast MISO jest bezpośrednio z karty do uC):
    Petit FAT, przykład implementacji obsługi FAT na małe AVR.
    PS. jeśli ktoś ma ochotę chętnie podzielę się materiałami do wykonania
  • #27 9454556
    piotrva
    VIP Zasłużony dla elektroda
    no trzeba sformatować jako FAT16 lub (choć nie testowałem, czy działa) FAT32
    PS. nie wiem czemu wszyscy ostatnio rzucają się na układy LVC, ja mam 2 karty w zestawach testowych na dzielnikach rezystorowych i śmigają aż miło :D
  • #28 9454571
    drzasiek
    Specjalista CNC
    Fat 32 też działa.
    Na jakim uC to uruchamiasz? I pokaż schemat jak podłączasz.. Ja też miałem niesamowite problemy i do dziś nie wiem czemu, nagle ruszyło i działa.
  • #29 9454705
    hexen2k
    Poziom 16  
    Petit FAT, przykład implementacji obsługi FAT na małe AVR. Petit FAT, przykład implementacji obsługi FAT na małe AVR.

    schemat i plik projektu płytki (wykonane w KiCAD - nie jest to szczyt estetyki bo to dopiero mój początek w tym programie :) )

    Podłączam do ATmega32 z kwarcem 16MHz w obudowie DIP40

    Zastanawiam się teraz od czego znów zacząć aby jakoś małymi kroczkami to uruchomić... co na początek można by spróbować ?
REKLAMA