Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[STM32] Chan FatFs odczyt elementów folderu

bartosz.tarnowski 12 Dec 2017 14:04 801 10
  • #1
    bartosz.tarnowski
    Level 17  
    Poniżej kod który działa.
    Czyta on elementy znajdujące się we wskazanym otwartym folderze.
    Problem w tym ze czyta nazwy plików i folderów w starym DOS'owym formacie 8+3
    Używam długich nazw w FAT tzn mam ustawione _USE_LFN na użwyanie długich nazw i to działa przy zapisie pliku.
    Czy ktoś wie czy to się da zmienić dla odczytu elementów?
    Problem też w tym że struktura FILINFO zawiera następujący bufor:
    TCHAR fname[13]; /* Short file name (8.3 format) */
    i sprawia to wrażenie że się nie da, ale wolę zapytać może akurat ktoś wie jak to zrobić.


    Code: c
    Log in, to see the code
  • #2
    User removed account
    User removed account  
  • #3
    Freddie Chopin
    MCUs specialist
    http://elm-chan.org/fsw/ff/doc/readdir.html
    http://elm-chan.org/fsw/ff/doc/sfileinfo.html

    Jeśli u Ciebie fname ma 13 elementów, to albo nie włączyłeś jednak wsparcia dla LFN, albo ustawiłeś FF_LFN_BUF na wartość 12.
  • #4
    bartosz.tarnowski
    Level 17  
    U mnie jest tak:

    Code: c
    Log in, to see the code


    oraz

    Code: c
    Log in, to see the code


    Pod wskaźnikiem TCHAR* lfname cały czas mam NULL pomimo że do TCHAR fname[13] wpisywana jest ta uproszczona nazwa
  • #5
    Freddie Chopin
    MCUs specialist
    To może zacznij od aktualizacji biblioteki której używasz, bo tym sposobem nigdy nie dojdziesz do tego co jest problemem. W dokumentacji na stronie ta struktura wygląda inaczej niż to co wrzuciłeś wyżej. W paczkach od ST ta struktura również wygląda inaczej niż to co wrzuciłeś wyżej.
  • #6
    User removed account
    User removed account  
  • #7
    bartosz.tarnowski
    Level 17  
    Zgadza się, są rozbieżności w tej bibliotece z dokumentacją.
    Ten FatFS pochodzi z CubeMX.
    Już sobie to ogarnąłem za pomocą wskaźnika na bufor LFN.
    Wykorzystałem wskaźnik znajdujący się w strukturze opisującej katalog, tylko czemu wskaźnik bufora LFN podpina do struktury katalogu zamiast do struktury samego pliku?
    Trochę dziwne.

    Poniżej struktura katalogu
    Code: c
    Log in, to see the code
  • #8
    Freddie Chopin
    MCUs specialist
    Piotrus_999 wrote:
    Z paczki STM-a z kwietnia 2017. Jak na FATFs to dość świeże. Paczka F303 v1.7.0

    Paczka dla STM32L4 ściągnięta parę dni temu:

    Code: c
    Log in, to see the code


    Najnowszy oryginał:

    Code: c
    Log in, to see the code


    Wersja 0.12b ściągnięta rok temu:

    Code: c
    Log in, to see the code
  • #9
    User removed account
    User removed account  
  • #11
    User removed account
    User removed account