Witam!
Po większym obciążeniu enc28j60, układ nie wysyła niektórych pakietów. Podrzucam kod źródłowy do f-kcji wysłającej, zgodna z tuxgraphics. Na początku myślałem, że to wina wycieku pamięci, ale wygląda to tak, że dane dochodzą do tej funkcji w całości.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Pozdrawiam
EDIT: czy ktoś jest w stanie odnieść się do Issue 13 z erraty ENC28J60:
Cytuj:
When transmitting in Half-Duplex mode with some link partners, the PHY will sometimes incorrectly interpret a received link pulse as a collision event. If less than, or equal to, MACLCON2 bytes have been transmitted when the false collision occurs, the MAC will abort the current transmission, wait a random back-off delay and then automatically attempt to retransmit the packet from the beginning – as it would for a genuine collision. If greater than MACLCON2 bytes have been transmitted when the false collision occurs, the event will be considered a late collision by the MAC and the packet will be aborted without retrying. This causes the packet to not be delivered to the remote node. In some cases, the abort will fail to reset the transmit state machine.
Czy ktoś to weryfikował/poprawiał? Albo czy wersja z tuxgraphics jest OK?