eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikalwIP - odbieranie danych przez TCP › Re: lwIP - odbieranie danych przez TCP
  • Data: 2022-09-27 15:35:51
    Temat: Re: lwIP - odbieranie danych przez TCP
    Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Sat, 24 Sep 2022 17:58:49 +0200, Atlantis wrote:
    > Chciałem ostatnio popchnąć trochę do przodu jeden ze swoich poprzednich
    > projektów - sprzętowe radio internetowe o którym pisałem już wcześniej,
    > tylko tym razem w wersji ze zaktualizowaną częścią hardware'ową.
    > Poprzednia wersja była tworzona na PIC32, teraz powoli chciałem
    > przenieść go na STM32.

    A tak swoja drogą - te radia działają na TCP ?
    Bo chyba powinny na UDP ...

    Kolejna sprawa - jak te radia działają?
    Dawniej podawali jakies parametry do bezposredniej transmisji,
    dzis wszystko pochowane. Wyswietl nasza strone www.

    A radia (te niby "sprzetowe") jakos działają ... maja jakies serwery
    z listami parametrów ?

    > Widzę, że w przypadku lwIP (RAW API) sprawa nie jest już tak prosta.
    > Zamiast tego muszę zarejestrować callback, który jest wołany za każdym
    > razem, gdy przyjdą nowe dane. Callback otrzymuje w jednym z parametrów
    > wskaźnik do struct ptr, w której mam m.in.
    > - void* paylod
    > - int len
    > - int tot_len
    > - struct pbuf* next
    >
    > Istnieje więc możliwość, że wszystko co będę musiał zrobić to pobranie
    > skopiowanie len bajtów spod adresu na który wskazuje payload. Istnieje
    > jednak szansa, że danych jest więcej - wtedy tot_len > len i kolejnej
    > porcji danych trzeba szukać w kolejnej strukturze, na którą wskazuje
    > wskaźnik next.
    >
    > Jeśli już zakończymy odczytywać dane, trzeba zawołać tcp_recved
    > informując stos, że czekamy na kolejną paczkę. Tu jeszcze jest wszystko
    > jasne.
    >
    > Co jednak w sytuacji, gdy powiedzmy do zakończenia wypełniania bufora
    > pozostało mi 100 bajtów, a w otrzymanej struct pbuf mam ich 500? Na
    > PIC32 po prostu pobierałem 100, a reszta czekała na swoją kolej. W jaki
    > sposób uzyskuje się podobny efekt na lwIP?

    Na moj gust, gdzies musisz sobie założyc bufor odpowiedniej dlugosci,
    wpychac tam dane które przyszly, i potwierdzac otrzymanie, lub
    poczekac jak sie bufor konczy ... aby zatrzymac transmisje.

    J.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: