Witam

Chciałem zapytać o co chodzi z tymi typami uint oraz int.
Posiadam BB i czytam go z dość dużymi przerwami i od końca gdyż nie mogłem się oprzeć i chciałem zamigać sobie Ledami

Ostatnio próbuję zrobić licznik impulsów ale coś mi nie idzie, nie pamiętałem jakie są dokładnie zakresy ale znalazłem je w książce na 75 str w tabeli. Wynika z niej, że zakres typu uint16_t jest od 0 do 65535 i ten w zupełności by mi wystarczył tymczasem po przekroczeniu 32767 wskakuje na wartości ujemne i zbliża się do 0 a według tabeli to int16_t ma taki zakres. Napisałem sobie taki mały programik na Atmega32 z kwarcem 11059200 Hz.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Napisałem to tylko w celu sprawdzenia i zauważyłem że Typ uint8_t zachowuje się zgodnie z oczekiwaniami(po osiągnięciu 255 zeruje się

) tak samo jak int8_t (znajduje się pomiędzy -128 a 127) , natomiast pomiędzy uint16_t a int16_t nie ma żadnej różnicy

Obydwa te Typy są w zakresie od -32768 a 32767.
O co tu chodzi? Co robię źle? Bardzo proszę o pomoc.