eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaBiblioteka MQTT i dziwny kod w C › Re: Biblioteka MQTT i dziwny kod w C
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
    e.net!feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!news.uzoreto.com!n
    ews-out.netnews.com!news.alt.net!fdc2.netnews.com!peer01.ams1!peer.ams1.xlned.c
    om!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media
    .com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neost
    rada.pl!news.neostrada.pl.POSTED!not-for-mail
    From: "J.F" <j...@p...onet.pl>
    Subject: Re: Biblioteka MQTT i dziwny kod w C
    Newsgroups: pl.misc.elektronika
    User-Agent: 40tude_Dialog/2.0.15.1
    MIME-Version: 1.0
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: 8bit
    References: <62f14473$0$544$65785112@news.neostrada.pl>
    <62f1ecee$0$464$65785112@news.neostrada.pl>
    Date: Tue, 9 Aug 2022 19:13:46 +0200
    Message-ID: <1v33pyf001dj9.6motwut9p4ho$.dlg@40tude.net>
    Lines: 54
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.4.181.2
    X-Trace: 1660065228 unt-rea-b-01.news.neostrada.pl 556 83.4.181.2:52582
    X-Complaints-To: a...@n...neostrada.pl
    X-Received-Bytes: 2921
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:773707
    [ ukryj nagłówki ]

    On Tue, 9 Aug 2022 07:13:17 +0200, JDX wrote:
    > On 08.08.2022 19:14, Atlantis wrote:
    > [...]
    >> BYTE llen;
    >> WORD len= MQTTReadPacket(&llen);
    >>
    > Ewidentny błąd - pokazuje dlaczego należy kompilować z -Wall (oraz
    > ewentualnie -pedantic) i nie ignorować ostrzeżeń. Aczkolwiek w
    > przytoczonym kontekście nie ma znaczenia - zmienna llen ma zasięg
    > lokalny ograniczony do wnętrza if-a i poza wywołaniem MQTTReadPacket()
    > nigdzie nie jest tam później używana.

    Blad troche dziwaczny, bo w ogole nie widze definicji MQTTReadPacket
    z parametrem. Jak to zwykłe C, i parametr nie ma znaczenia,
    to nadal dziwaczne.
    Podejrzewam, ze cos tu przerabiali, i zrezygnowali z podawania adresu.

    Ale nawet tam, gdzie tak piszą, to nie widzę aby uzywali tego llen,
    czyli błąd w zasadzie bez znaczenia.
    Dane będą w MQTTBuffer ?

    A jak Atlantis zauwazyl - program bierze z rxBF, tylko juz tam nic nie
    zapisuje.

    Wyglada na to, jakby kod byl w połowie wiekszych przeróbek.

    >> Potem zawartość takiej zmiennej jest wykorzystywana w kodzie jako
    >> element indeksu tablicy MQTTBuffer - również w tych częściach kodu,
    >> które działały prawidłowo. Szybkie poszukiwania w internecie ujawniły,
    >> że możliwość zdeklarowania pustej listy argumentów to historyczna
    >> zaszłość. Wszyscy przestrzegają przed robieniem tego. Natomiast nigdzie
    >> nie mogę znaleźć informacji o tym, w jaki sposób to działa i co
    >> właściwie robią te kawałki kodu. Ktoś ma jakiś pomysł?
    > Nie jestem pewny co oznaczają ,,te kawałki kodu", ale w ramach testu
    > proponuję odnaleźć ten kontekst:
    >
    > if(MQTTAvailable()) {
    > BYTE llen;
    > WORD len = MQTTReadPacket(&llen);
    > WORD msgId = 0;
    > BYTE *payload;
    >
    > i zaraz po deklaracjach zmiennych dopisać llen = len.

    ale o co im by mialo chodzic? Czemu mieliby uzywac llen - len
    niedobre?

    > No i proponuję też zamienić
    > switch(rxBF[1]) { //MQTTBuffer
    > na
    > switch(MQTTBuffer[1]) { //MQTTBuffer

    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: