Witam,
Jak (najlepiej na raz) wysylac i odbierac dane z wyzej wspomnianych rejestrow przez sprzetowe spi, przy czym nie jest ich po rowno, wyjsciowych 595 mam 8 sztuk, a wejsciowych 165 sztuk 13. Linia zegarowa wspolna. Zapis dziala ladnie, lecz przy odczycie dostaje same 1 (tzn. kazdy odczytany bajt to 0b11111111). Staralem sie odczytac narazie tylko pierwsze 8 rejestrow, zeby zrobic to razem z wysylaniem. Ponizej kod - jak sie do tego zabieralem:
Inicjalizacja spi oraz funkcja przesylajaca:
A w programie glownym wywolane jest to tak:
I o ile dane_do_wyslania wysylaja sie poprawnie, to w tablicy spi_read wszystkie bity to 1. Co robie nie tak? I jak odczytac wiecej bajtow niz wysylam?
Z gory dziekuje za wszelka pomoc
Jak (najlepiej na raz) wysylac i odbierac dane z wyzej wspomnianych rejestrow przez sprzetowe spi, przy czym nie jest ich po rowno, wyjsciowych 595 mam 8 sztuk, a wejsciowych 165 sztuk 13. Linia zegarowa wspolna. Zapis dziala ladnie, lecz przy odczycie dostaje same 1 (tzn. kazdy odczytany bajt to 0b11111111). Staralem sie odczytac narazie tylko pierwsze 8 rejestrow, zeby zrobic to razem z wysylaniem. Ponizej kod - jak sie do tego zabieralem:
Inicjalizacja spi oraz funkcja przesylajaca:
Kod: C / C++
A w programie glownym wywolane jest to tak:
Kod: C / C++
I o ile dane_do_wyslania wysylaja sie poprawnie, to w tablicy spi_read wszystkie bity to 1. Co robie nie tak? I jak odczytac wiecej bajtow niz wysylam?
Z gory dziekuje za wszelka pomoc