Witam.
Do zapisu na kartę danych użyłem biblioteki FatFS. Problem polega na tym, że funkcja się zacina przy wywołaniu deselect(). Kod wygląda tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Poprzez debugowanie za pomocą diody LED odtworzyłem ścieżkę po której następuje zawieszenie; wewnątrz
f_open:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Potem wewnątrz
find_volume:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Następnie wewnątrz
check_fs:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wewnątrz
move_window:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Następnie wewnątrz
disk_read:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Aż w końcu w
send_cmd:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Zawieszenia zachodzi podczas wywołania deselect(). A dokładnie na
loop_until_bit_is_set, z czego wynika, że bit SPIF nie ustawia się przy próbie otwarcia pliku. Wcześniej robiłem to samo za pomocą PetitFS i działało bez zarzutu. Nie wiem jak to rozwiązać. Czy ktoś wie co z tym zrobić?