Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega32 i ENC28j60 Bascom

samuel1982 22 Paź 2013 02:50 3024 1
  • #1 22 Paź 2013 02:50
    samuel1982
    Poziom 7  

    Witam wszystkich serdecznie.
    Czy ktos moglby sprawdzic kod bo juz kilka tygodni siedze i nie wiem co moze byc nie tak, kod sciagniety z netu i ponoc dziala na 100% no ale nie u mnie.
    Na tym samym urzadzeniu bez problemu odpalam inne oprogramowania tylko pisane w C i smigaja bez problemu.

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    0 1
  • #2 26 Lip 2015 18:46
    monoamiga
    Poziom 2  

    Nie miałem czasu przeanalizować kodu dokładnie, ale...
    ...zwróć Kolego uwagę na bloki "%END%". W procedurze obsługi HTTP osobno do bufora pakujesz nagłówek i osobno stronę w HTMLu. W obu przypadkach procedura kończy zapełnianie bufora po napotkaniu ciągu "%END%", a w blokach danych na końcu programu masz w jednym przypadku "endblock" zamiast "%END%", przez co bufor zapełnia się po brzegi ("nigdy" nie kończy) i coś prawdopodobnie dlatego się zacina.

    Poza tym w procedurze od http zdefiniowane są lokalne zmenne Z i Ztemp jako bajtowe... I w tym kodzie wystarczy, bo w pętli FOR dojeżdżają do wartości 200. Ale co, jeśli pakiet jest większy (np. przeglądarka wyśle masę nagłówków)? Lepiej by było przeszukiwać nie do 200, a do Max_framelen, co oczywiście wymaga zdefiniowania Z i Ztemp jako słów, nie bajtów.

    Po wprowadzeniu w/w. poprawek wgrałem kod do Atmegi 32 i wszystko działa.

    1