Spróbuj wysłać dane do odbiorniczka na piechotę w taki sposób
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wydaje mi się, że źle wysyłasz dane.
Ciało oryginalnej funkcji write_buf wygląda tak
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Zobacz co doleci do odbiorniczka po takim wywołaniu tej funkcji
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Po rozkazie startu zostanie wysłany adres TEA5767 (192). Następnie zostanie wysłany bajt o wartości zero, który zostanie potraktowany jako pierwszy bajt danych. A potem w pętli wysłane zostaną cztery bajty począwszy od wartości w bufor[0]. Z tego co pamiętam to do TEA5767 trzeba za każdym razem wysłać wszystkie pięć bajtów.
W twoim przypadki do odbiorniczka doleci taki układ bajtów
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Ja w swoim kodzie używam takiej funkcji do wysyłania
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
A potem w kodzie tak ją wywołuje
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
TEA5767_write_reg to tablica mająca pięć elementów.