Nadawanie wygląda w miarę OKTwoja ramka:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Tutaj ją uzupełniasz
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i funkcją
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
wysyłasz do odbiornika (uważaj na sizeof w takim podejściu). Zakładam, że funkcja
uart_putc() jest blokująca i zawartość
uart_struct się nie zmienia, więc odbiornik powinien odebrać kolejno wartość command, cnt_preset oraz loop_status
Odbiór ramki Zakładam, że masz rejestr szeregowy HC595 np.
https://www.ti.com/lit/ds/symlink/sn74hc595.pdfpo wpisaniu do niego bajtu należy wygenerować zbocze narastające na PINIE 12 (RCLK) tzw. latch, przepisze on stany wyjść z bufora na wyjście, jeżeli zrobisz to przed wpisaniem bajtu, to na wyjściach pojawi się stan poprzedni, czyli pojawi się "opóźnienie"
Nazwa funkcja
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
wskazuje, że inicjalizuje SPI (wysyła 3 bajty, i wywołuje makro LATCH - co się pod nim kryje?, brakuje ustawienia nOE na stan niski)
Przez brak wysterowania nOE mogą pojawiać się artefakty po podłączeniu do zasilania, reset może powodować chwilowy stan niski na tym wejściu, co spowoduje załączenie wyjść ze stanami 0x00, 0x00, 0xFF
Dobrze jest wykonać nast. sekwencję:
1. wpisanie bajtu/bajtów,
2. wygenerowanie zbocza narastającego na latch, (0->1, 1->0),
3. załączenie wyjść (stan niski na nOE (pin 13)