Czy ta reguła jest poprawna? Programuję ESP8266 i mam wrażenie, że czasem nie zwraca true, choć warunek jest prawdziwy. Chodzi mi m.in. czy nie trzeba wprowadzić jakichś dodatkowych nawiasów i czy można pisać + 6 przy znaku && (czy nie trzeba nawiasów. Dziś miałem wrażenie, że kod się zaciął, ale nie miałem go jak zdebugować, ale to musi być raczej ta linijka.

#arduino #esp8266 #esp32 #mikrokontrolery #jezykc #c++ #programowanie
@MisiekD: Ja bym powiedział, że nawiasów nigdy za wiele, raczej lepiej więcej, niż mniej i bym to wszystko pooddzielał nawiasami.
Poza tym, to może nie jest problem z tym if-em, tylko z tym następnym, ewentualnie jeszcze może Tobie się wydaje, że warunek powinien być spełniony, a jednak nie powinien, bo jest źle napisany.

if((((tP2 >= (tB1 + 6)) && (tP2 >= 50))) || (tP1 >= 70)))
zmienna temperaturaBufor1 jest typu float, a ja dodaję do niej 6 (a ta 6 jest int) i czy to może jakoś nie koliduje


@MisiekD: Nie, to nie przeszkadza. Ale możesz też to zapisać jako + 6.0.

W pętlach z czasem millis() nauczyłem się dawać UL, ale czy tak ma być - nie wiem.


@MisiekD: Na pewno jeśli millis() zapisujesz do zmiennej, no to ona musi być typu unsigned long. Samo
Ehhh.... Lubie C za prostotę, ale czasami nie mam pojęcia co kierowało ludźmi nie dodając pewnych oczywistości do biblioteki standardowej. Mamy #!$%@? funkcji do porównywania stringów, ale nie, nie dodamy streq() bo po co, lepiej, żebyś się mógł się #!$%@?ąć.

Nie zliczę już ile razy #!$%@?ąłem się jak w poniższym kodzie:

if (strcmp(strA, strB))
cos_jak_strA_eq_strB....

#jezykc #programowanie
@BeginEnd: jak najbardziej jest na temat, tylko nie rozumiesz jak wygląda reprezentacja stringów w C ;)
Gdybyś to wziął pod uwagę to nie mylił byś kodu powrotu z funkcji strcmp i używał strncmp.
A jednak VS ostrzega już w trakcie pisania, a przed kompilacją. Zacząłem się więc zastanawiać, czy można to jakoś sprawdzić przed wystąpieniem ostrzeżenia.


@MostlyRenegade: ale o co w sumie pytasz? Sam napisałeś, że VS pokazuje warning przed kompilacją.
Hej, programiści15k,
Czy jest w standardowym C/C++ coś w rodzaju strumienia do zapisu w pamięci? Chodzi mi o to, żeby do jednego ciągłego bufora można było wrzucać sobie dużo różnych danych po kolei i potem przekazywać cały ten bufor gdzieś dalej. Teoretycznie mogę sam sobie napisać taki prosty bufor, ale może jest już coś gotowego.

#programowanie #programista15k #cpp #jezykc
ciągłego bufora

dużo różnych danych

@MostlyRenegade: w buforze też musisz określić przechowywany typ. imo chcesz ładować do std::vector<uint8_t>, tylko musisz sobie zaklepać serializację/deserializację tych swoich typów

jeżeli nie chcesz serializować, to std::vector<std::variant<TypA, TypB, TypC...>>
Mirki, jak znaleźć pracę w #embedded? W kwietniu skończyłem informatykę na UAM w Poznaniu, miałem jeden przedmiot gdzie programowaliśmy mikrokontroler STM32 i spodobało mi się. Zrobiliśmy na nim prosty minutnik obsługiwany jednym guzikiem. Obecnie uczę się C z książki Kinga "C Programming: A Modern Approach" (super książka). W Poznaniu niestety nie ma za dużo ofert dla juniorów jeśli chodzi o embedded, a wolałbym się nie przeprowadzać. Pytanie co waszym zdaniem powinien
Pytanie co waszym zdaniem powinien potrafić junior na takim stanowisku?


@stepienz13posterunku:
- C/C++ w zależności od tego w co celujesz
- Git
- W miarę dobrze znać przynajmniej jedną architekturę procków, np ARM, ewentualnie cały ekosystem (na przykład STM32) wraz z konfiguracją różnych peryferiów
- Podstawy dowolnego RTOSa
- Korzystanie z analizatora stanów
- Umiejętność czytania datasheetów do różnych procków/sensorów
- Podstawowa wiedza o najpopularniejszych magistralach/interfejsach komunikacyjnych (I2C/SPI/UART/CAN)
- Bardzo podstawowa
Cześć, mam 20 lat, pracuje aktualnie na utrzymaniu ruchu i zaczynam studia zaoczne na PWR na kierunku elektrotechnika, jestem jednak wielkim zajawkowiczem embedded i planuje iść w to w 100%. Chciałbym się dowiedzieć czy opłaca się robić te studia i czy wniosą one coś do mojego cv w przyszłości dla pracodawców? Generalnie to planuje zrobić w tym czasie też dużo projektów jednak fajnie mieć te wyższe wykształcenie, z góry dzięki za odpowiedź.
Pytanie do speców od języka C. Chciałem się pobawić trochę w generowanie struktur poprzez makra, ale napotkałem na problem. Mam sobie strukturę, mam makro które w zamyśle ma nadać strukturze nazwę i ją zainicjalizować. Używam tego makra (zobacz komentarz) i się kompiluje. Ale jak już spróbuję cokolwiek przypisać do tak utworzonej struktury, to dostaję błąd. Jesteście w stanie wskazać mi mój błąd? Wyszedłem trochę z założenia, że preprocesor to tylko podmienia tekst,
mirkogreg - Pytanie do speców od języka C. Chciałem się pobawić trochę w generowanie ...

źródło: obraz_2023-07-12_225553058

Pobierz
#programowanie #sieci #siecikomputerowe #jezykc #winsock #socket Hej Mireczki, czy Ktoś z Was ogarnia bibliotekę socket?

Chodzi mi tutaj o podstawową funkcję connect(), czy można ją wykorzystać do tego aby połączyć się z adresem 8.8.8.8 potwierdzając tym samym że mamy dostępne połącznie interenetowe? Gdzieś przeczytałem że to wystarczy - taki prosty PING. Jednak kiedy oglądałem źródła komendy ping.c to tam nie korzystali z connect() tylko od razu po stwqorzeniu socketa dawali send() wysylajac
@PlugaweWarzywo: SIOCGIFCONF to ci powie jaki masz adres IP na karcie sieciowej. Jest to za mało żeby stwierdzić czy masz połączenie z internetem. To nawet nie mówi ci czy masz poprawną komunikację z najbliższym routerem, bo przecież te adresy można ustawiać ręcznie i w cale nie muszą być poprawne.

Jedyny sposób na sprawdzenie czy faktycznie masz połączenie z internetem to wysłanie zapytania w ten internet i oczekiwanie że otrzymasz odpowiedź. Zastanów
#programowanie #jezykc #ping #siecikomputerowe #programista Hej Mireczki, w jaki sposób stworzylibyście własny program który pokazywał by aktualny stan sieci, tj. czy jesteśmy ONLINE czy OFFLINE.

Zrobiłem to w ten sposób, że program rezydentny co np. 5 sekund wywołuje komendę ping 1 raz z adresem (8.8.8.8).. w zależności od wyniku zapisuje ONLINE lub OFFLINE to jakiejś zmiennej środowiskowej.

Zastanawiam się czy powinno się to zrobić sensowniej. W tym przypadku jesteśmy uzależnieni od zewnętrznej
@PlugaweWarzywo: Windows i Mac robią request HTTP o prosty plik tekstowy. Dzięki temu dodatkowo wiedzą czy nie trzeba pokazać okienka z akceptowaniem regulaminu do publicznej sieci wifi, bo wtedy oczekiwana zawartość pliku się nie zgadza
https://devblogs.microsoft.com/oldnewthing/20221115-00/?p=107399
W Windowsie masz API żeby pobrać wynik tego sprawdzenia https://learn.microsoft.com/en-us/windows/win32/api/wininet/nf-wininet-internetgetconnectedstate

Tu jeszcze dochodzi dodatkowy problem - serwer na którym trzymasz ten plik może przestać działać - mało prawdopodobne w przypadku Microsoftu, ale jednak możliwe. Firewalle
Siemka, mam duży problem ze swoim ESP8266, chodzi o wypisywanie danych z mikrokontrolera (duża ilość danych) wprost do przeglądarki.
No więc, chciałbym zmodernizować moją funkcję, aby zbierać dane z logów i następnie wysłać je wszystkie do przeglądarki. Najpierw próbowałem funkcji beginResponseStream, ale moja tablica jest zbyt duża, aby można ją było wysłać raz (tablica ma 300 wierszy i każdy wiersz ma 100 wartości typu char). W efekcie tym, do przeglądarki trafia