To mój pierwszy post na Forum więc:
Witam wszystkich serdecznie
Jestem szczęśliwym posiadaczem
BlueBooka i zestawu firmy Gotronik na ATmegę16/32 ver2
Mój problem dotyczy transmisji danych przez SPI ale kod ten może bez problemu zostać zaadoptowany do innych interfejsów.
Opis stanowiska:
mikrokontrolery ATmega32 (w układzie 1 Master wiele Slave)
Sprzętowe SPI
Dane dla zaoszczędzenia wysyłanych bajtów wysyłane będą w postaci szesnastkowej (uint8_t w postaci dziesiętnej potrzebuje do 3 bajtów, w postaci hex do dwóch bajtów analogicznie uint16_t 5 bajtów w dec, a 4 w hex). Jest to mój pomysł na to jak "zmniejszyć" troszkę wysyłane zmienne, jeżeli sposób ten jest nieoptymalny/ niepotrzebny nie będę się go trzymał
Ramka danych tworzona jest przy pomocy funckji
sprintf a oto przykładowa ramka:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Następnie wysyłamy ramkę "
str" i gotowe ... po stronie nadawcy, ale problem pojawił się po stronie odbiorcy

Oczywiście w
BlueBook-u w Rozdziale z UDP jest super wyjaśnione jak sobie poradzić z podziałem ramki.
Pozwala na to (w przykładzie z książki) funkcja np.
prase_set_led(); której działanie opiera się na funkcji
strtok_r()Jednak problem mam z przejścia z np. ciągu znaków
A4C1 uzyskanych przy pomocy
strtok_r() na wartość uint16_t =
42177 Jakiego narzędzia/ funkcji użyć ? Gdzie szukać odpowiedzi ?

Jeżeli ktoś ogólnie ma inny lepszy sposób na transmisję danych po SPI proszę o pomoc

i z góry dziękuję za wszelkie uwagi
ROZWIĄZANIE:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
A oto otrzymany rezultat:

x

Przebiegi otrzymałem przy pomocy analizatora stanów logicznych
Saleae logic , który polecam początkującym takim jak ja, aby na własne oczy zobaczyć "co w trawie piszczy" (oczywiście zdaję sobie sprawę, że to nie oscyloskop i należy o tym pamiętać).