piotrva napisał: 3. Niestety biblioteki te pod Bascoma są niedopracowane - zawieszają się czasami a także jest problem z urządzeniami mobilnymi, które wysyłają dłuższe naglowki - kiedyś zacząłem przy tym grzebać, ale ale nauczyłem się C zanim rozwiazalem problem i już do Bascoma nie wracałem, bo biblioteki pod C działają świetnie.
Przeglądając pliki z tuxgraphics.org i erratę do ENC28J60, można znaleźć gdzie są błędy:
- w procedurze Enc28j60_init złe ustawienia adresów bufora rx i tx, w erracie napisane jest bufor odbioru MUSI się zaczynać od adresu $0000, wersja Bascom'owa tak nie robi.
- hardware odbioru może uszkodzić bufor (źle ustawia wskaźnik na następny segment czy jakoś tak

), procedurę Enc28j60_packetreceive() należy poprawić tak aby wyłapać ten moment, a następnie ustawić prawidłowy adres.
- nie działająca poprawnie procedura Enc28j60_readphyword - błędy w pliku nagłówkowym i zamieniona kolejność odczytu bajtów (młodszy, starszy bajt)
- procedurę Enc28j60_reset też do poprawki - opisane w erracie, sprawdzanie bitu estat_clkrdy niekoniecznie musi działać, lepiej odczekać 1ms
- błąd też jest przy resetowaniu "logiki transmisji"
Tyle udało mi się odnaleźć

. Na początku byłem lekko niezadowolony z tego modułu, wszyscy się jarają enc28j60, a to takie niestabilne "badziewie"

.
Po poprawkach zaczyna to stabilniej chodzić. Testowałem na swoim nie dokończonym jeszcze kliencie TCP, przez 4 godziny na okrągło odczytywał 3 megabajtowy plik przez HTTP/GET jednocześnie był bombardowany pingami po 1000 bajtów

. Moduł się nie zawiesił.