Dobry wieczór!
Nazywam się Piotrek, jestem tutaj nowy, dlatego proszę o wyrozumiałość.
Chciałbym opisać swój problem. Buduje serwer HTTP na stacku z Procyon AVRLib. Po odpowiednich modyfikacjach, poprawkach i autorskich zmianach nie mam większych problemów z nim, dodatkowo zaimplementowałem prostą obsługę TCP wraz z dzieleniem bufora na mniejsze segmenty danych.
Losowo, w różnych segmentach, czasami pojawia się nieprawidłowa suma kontrolna. Co ciekawe, zawsze o wartość 0x100 (HEX), czyli 256 dziesiętnie.
Szukam już trochę czasu, jednak to trochę jak szukanie igły w stogu siana. Poniżej przedstawiam listing funkcji liczącej sumę kontrolną TCP (jest to moja modyfikacja funkcji netChecksum uwzględniająca pseudonagłówek). Osobiście mam przeczucie, że funkcja jest dobra, bo w 99% przypadków liczy dobrze, a problem leży gdzie indziej, ale może się mylę.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Z góry dziękuję za wszelkie sugestie!

Pozdrawiam