eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaFatFS na PIC32 - zagadkaFatFS na PIC32 - zagadka
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin1
    !goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-
    b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    Newsgroups: pl.misc.elektronika
    X-Mozilla-News-Host: news://news.neostrada.pl:119
    From: Atlantis <m...@w...pl>
    Subject: FatFS na PIC32 - zagadka
    X-Enigmail-Draft-Status: N1110
    Date: Sun, 3 Jan 2016 18:35:28 +0100
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101
    Thunderbird/38.5.0
    MIME-Version: 1.0
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit
    Lines: 38
    Message-ID: <56895be0$0$682$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.4.3.35
    X-Trace: 1451842528 unt-rea-a-01.news.neostrada.pl 682 83.4.3.35:57236
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:691377
    [ ukryj nagłówki ]

    Jak wcześniej pisałem - próbuję uruchomić FatFS na PIC32. Na AVR-ach nie
    miałem najmniejszego problemu z tą biblioteką, tutaj za chwilę osiwieję...

    Nic nie działa jak powinno, a w sposobie hmm... niedziałania nie mogę
    się doszukać żadnej logiki, która dałaby mi jakiś punkt zaczepienia przy
    debugowaniu problemu.

    1) Komunikacja po SPI najwyraźniej działa. Funkcja disk_initialize(0)
    przy każdym wywołaniu zwraca FR_OK. No chyba, że w slocie nie ma karty -
    wtedy otrzymuję FR_NOT_READY. Czyli wszystko tak, jak być powinno.
    Niektóre karty zwracają co prawda FR_DISK_ERR, ale to pomijam, bo
    dokładnie z tymi samymi egzemplarzami miałem także problem na AVR-ach i
    szukanie przyczyny pozostawiam na później.
    Fakt, że inicjacja karty kończy się komunikatem FR_OK świadczy o tym, że
    mikrokontroler potrafi się dogadać z kartą.
    2) O tym, że między dwoma urządzeniami występuje przepływ danych
    świadczy też wynik badania analizatorem stanów logicznych. wyraźnie
    widać pracę linii CS, SCK, MISO i MOSI.
    3) Problem zaczyna się nieco później. Próba odczytania kilku sektorów z
    karty za pomocą disk_read(0, bufor, 1, 5) kończy się zwróceniem
    RES_ERROR. Analizator stanów pokazuje, że po wywołaniu tej komendy
    występuje szybka komunikacja pomiędzy tymi urządzeniami. Pomyślałem, że
    może SPI pracuje za szybko dla karty, jednak przestawienie interfejsu na
    wolną transmisję nic nie zmieniło.
    4) Funkcje wyższego poziomu nie działają, albo nie działają jak powinny.
    f_mkfs() zwraca za każdym razem błąd FR_DISK_ERR, a f_mount()
    FR_NO_FILESYSTEM. No może nie za każdym razem - jeszcze parę dni temu od
    czasu do czasu (dość rzadko i raczej losowo) obserwowałem przypadki
    "zaskakiwania" systemu plików - na karcie pojawiał się plik, do którego
    były zapisywane dane.
    5) Wypróbowałem kilka różnych modułów ze slotem na karty SD i micro SD.
    W tym jeden zlutowany samodzielnie. Poprawność połączeń stwierdziłem
    kilkadziesiąt razy. Ktoś ma jakiś pomysł co do możliwej przyczyny? CO
    jeszcze mogę sprawdzić?

    Port SPI jest iicjowany z następującymi ustawieniami:
    SpiChnOpen(SPI_CHANNEL2,SPI_OPEN_MSTEN|SPI_OPEN_CKP_
    HIGH|SPI_OPEN_SMP_END|SPI_OPEN_MODE8,142);

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: