-
Data: 2022-08-09 19:13:46
Temat: Re: Biblioteka MQTT i dziwny kod w C
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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.
Następne wpisy z tego wątku
- 09.08.22 20:38 Atlantis
- 10.08.22 00:06 Atlantis
- 10.08.22 00:13 JDX
- 10.08.22 09:52 J.F
- 10.08.22 09:59 Grzegorz Niemirowski
- 10.08.22 19:25 Atlantis
- 10.08.22 20:41 heby
- 10.08.22 22:06 Marek
- 10.08.22 22:43 Grzegorz Niemirowski
- 10.08.22 23:26 heby
- 12.08.22 11:25 Piotr Gałka
- 16.08.22 13:20 Atlantis
- 17.08.22 18:58 Mirek
- 18.08.22 11:03 Atlantis
Najnowsze wątki z tej grupy
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
Najnowsze wątki
- 2025-07-05 Shrek, wzrośnie cena prądu :-)
- 2025-07-05 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-07-05 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-05 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-07-06 Płacić za wodę ze studni
- 2025-07-06 Kolejny inżynier...
- 2025-07-05 UE ustępuje pod presją Trumpa. Socjaldemokraci: oddaliśmy miliardy
- 2025-07-04 od kiedy można obrażać Plastusia i do kiedy Batyra?
- 2025-07-05 UE ustępuje pod presją Trumpa. Socjaldemokraci: oddaliśmy miliardy
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=