Robię układ na atmedze8 który odczytuje dane z dwóch akcelerometrów i zapisuje na kartę sd (chwilowo mam microsd z adapterem, ale to nie powinno mieć znaczenia). acc i sd są na wspólnej szynie SPI, mają osobne sygnały CS, a wszsytko podciągnięte rezystorem do zasilania.
Korzystam z biblioteki Petit Fat.
Do obsługi akcelerometrów mam taką funkcję:
Jak zrobię tak:
to działa, ale jak zczytam dane z dwóch akcelerometrów pod rząd, to już nie działa:
Docelowo chciałem wrzucić do bufora 512bajtowego odczyty i zapisać to hurtem, ale nie mogę zrobić nawet dwóch odczytów pod rząd...
Jeśli pomiędzy dwa odczyty z akcelerometrów wstawię
to zadziała (ale wolno).
Czy to oznacza, że karta SD reaguje na sygnały na magistrali gdy sygnał na CS jest wysoki? Jeśli tak, to dlaczego wszystko działa przy jednym wywołaniu odczytu z czujnika, a przy wielokrotnym już nie?
Odkryłem w którym miejscu funkcji pf_write(...) jest napotykany błąd:
Korzystam z biblioteki Petit Fat.
Do obsługi akcelerometrów mam taką funkcję:
Kod: C / C++
Jak zrobię tak:
Kod: C / C++
to działa, ale jak zczytam dane z dwóch akcelerometrów pod rząd, to już nie działa:
Kod: C / C++
Docelowo chciałem wrzucić do bufora 512bajtowego odczyty i zapisać to hurtem, ale nie mogę zrobić nawet dwóch odczytów pod rząd...
Jeśli pomiędzy dwa odczyty z akcelerometrów wstawię
Kod: C / C++
to zadziała (ale wolno).
Czy to oznacza, że karta SD reaguje na sygnały na magistrali gdy sygnał na CS jest wysoki? Jeśli tak, to dlaczego wszystko działa przy jednym wywołaniu odczytu z czujnika, a przy wielokrotnym już nie?
Odkryłem w którym miejscu funkcji pf_write(...) jest napotykany błąd:
Kod: C / C++