Skocz do zawartości
Zaloguj się, aby obserwować  
RFM

Usunięte z: Arduino Mega2560 + Ethernet + DS18B20 + 8-seg. moduł LED TM1637 - Pomiar temperatury i wysyłanie do bazy SQL

Pomocna odpowiedź

44 minuty temu, szczepulek napisał:

60us !!! jesteś mistrz, wyższa półka programowania

To proste, po prostu w kodzie nie mam dely i while ( zdarzenie ) . W bibliotekach też nie ma takich "kwiatków" (Ty niestety w TM1637 masz). Ogólnie z bibliotekami Arduino jest duży problem. Najpierw szukam i sprawdzam czy działa bo różnie z tym bywa. Przykładowo software serial (nie powinno się używać takich wynalazków ale czasem nie ma wyjścia i trzeba pamiętać aby nie zawieszać przerwań a jeśli już to nie dłużej niż czas trwania bitu) stwarza problem z transmisją inną niż ramka 8N1. Dla AVR są stosowne biblioteki, dla ESP nie znalazłem.

Z NTP też jest problem. Jak jedna libs ma jakąś funkcjonalność to czegoś tam jej brakuje. jak znajdę taką co ma to czego brakuje, to nie ma czegoś innego. W konsekwencji trzeba modyfikować bibliotekę. Są biblioteki, które "wykrzaczają" soft w pewnych sytuacjach. Mam to w NTP. Trzeba będzie szukać co jest "nie halo". Dobrze, że wiem jak są zbudowane ramki NTP, jak dekodować czas UNIXa bo robiłem to kiedyś "na piechotę", tak z 10 lat temu ale chyba arduino jest po to, aby zrobić ale się nie narobić? Zrobić NTP  nie wiedząc co to UDP, ARP, TPC, idt. Niestety tak nie jest.

Albo ja mam pecha, albo arduino jest mocno ograniczone przez kiepskich programistów tworzących biblioteki. A może mam za duże wymagania? Może niektórym nie przeszkadza, ze program reaguje po sekundzie od naciśnięcia przycisku, mnie przeszkadza. Może rysowanie obrazu na LCD przez 2 sekundy nie jest problemem, dla mnie jest.

Im dłużej mam styczność z Arduino, tym bardziej jestem do niego zniechęcony. Chyba dam sobie z nim spokój, tak jak kiedyś z Bascom. Nie żałuję, że wybrałem C zamiast Bascom i czuję, że nie będę żałował, że porzucę Arduino. Tym optymistycznym akcentem, kończę swoją wypowiedź.

 

Udostępnij ten post


Link to post
12 minut temu, RFM napisał:

Albo ja mam pecha, albo arduino jest mocno ograniczone przez kiepskich programistów tworzących biblioteki. A może mam za duże wymagania? Może niektórym nie przeszkadza, ze program reaguje po sekundzie od naciśnięcia przycisku, mnie przeszkadza. Może rysowanie obrazu na LCD przez 2 sekundy nie jest problemem, dla mnie jest.

Im dłużej mam styczność z Arduino, tym bardziej jestem do niego zniechęcony. Chyba dam sobie z nim spokój, tak jak kiedyś z Bascom. Nie żałuję, że wybrałem C zamiast Bascom i czuję, że nie będę żałował, że porzucę Arduino. Tym optymistycznym akcentem, kończę swoją wypowiedź.

Nie ma co się męczyć 🙂 Arduino jest stworzone głównie z myślą o tym, aby ułatwić start początkującym. Nie każdy musi z niego korzystać, jeśli natrafiasz ciągle na jakieś ograniczenia to nie warto chyba psuć sobie nerwów. Zawsze można zająć się STMami lub pisać kod na Arduino bez dostarczanych bibliotek. Warto tylko uspokoić początkujących, że Arduino nie jest wcale takie złe i zdecydowania większość osób, nie uświadczy w praktyce problemów, o których tutaj mowa. Całe szczęście w elektronice panuje pełna dowolność - każdy może realizować projekty tak jak lubi. Nie ma "jedynej słusznej" metody 😉

Udostępnij ten post


Link to post

Ja bym radził również powstrzymać się od komentowania pracy innych i określania ich jako np. kiepskich programistów. W końcu widzieliśmy próbki programowania autora tej opinii, więc może ktoś dojdzie do wniosku, że wcale nie jest najwyższej jakości kod - a po co sobie przykrości sprawiać na forum.

Udostępnij ten post


Link to post
10 minut temu, Elvis napisał:

może ktoś dojdzie do wniosku, że wcale nie jest najwyższej jakości kod

Może i nie jest ale dział i nie zawiesza CPUI czego nie mogę powiedzieć o bibliotece NTP. Miesza coś na stercie i późniejszy sscanf  wywala program. Gdy wcześniej nie wywołam funkcji NTP odczytującej datę i czas, scanf działa poprawnie. To nie pierwszy przypadek tego typu. Może problemem jest klasa string? To wielce prawdopodobne. W swoich programach nie używam tej klasy i problemów ze stertą nie mam.

Udostępnij ten post


Link to post

To samo malloc. W uC stwarza problemy a w bibliotekach arduino pełno tego jakby nie było innych, pewniejszych rozwiązań.

.

Udostępnij ten post


Link to post

Bascom czyli Basic z samą swoją nazwą informuje czym jest, nie znaczy to, że nie da się na nim niczego napisać ale pisanie basicem większego programu do przyjemności nie należy. To samo z arduino i tu się z Tobą zgadzam, nie tylko Ty masz takiego pecha, bo kiedy przychodzi przekopać się przez tą całą masę "bibliotek" od wszystkiego to najczęściej się nie znajduje niczego, że aż się odechciewa programować w ogóle. Dużo wydajniejsze jest tradycyjne programowanie, na avr szczególnie, niż w oparciu o arduino ale kosztem włożonego w to czasu dlatego arduino jest takie popularne. Pamiętam kiedy zaczynałem zabawę z avr w necie była masa fajnego wydajnego softu, teraz wszędzie arduino a stare archiwa gdzieś poznikały, szkoda. Miałem sporo softu zbieranego/pisanego latami na avr niestety stary dysk padł zupełnie i straciłem "dorobek życia" w jednej chwili a teraz nie da się już tego w większej części w necie odnaleźć stąd moja prośba o te kody. Nawet prosty program nierzadko pochłania masę czasu szczególnie kiedy nie ma debugera solidnego a trzeba wszytko pisać od podstaw bo tak jak wspomniałeś często jest tak, że nawet poprawić się nie da skutecznie tych rozwiązań arduinowych.

Udostępnij ten post


Link to post

To że program działa, albo jego autorowi wydaje się że działa jeszcze o niczym nie świadczy. Może to być beznadziejnej jakości program napisany przez "kiepskiego programistę".

Więc jak napisałem wcześniej - proponuję unikać takich ocen tego co robią inni, w końcu to co sami robimy też może okazać się dalekie od ideału.

Udostępnij ten post


Link to post
40 minut temu, Treker napisał:

Zawsze można zająć się STMami

Za dużo już napisałem, ale przekonałem się jak ciężko jest bez debugera.

 

40 minut temu, Treker napisał:

lub pisać kod na Arduino bez dostarczanych bibliotek.

Tylko wtedy po co mi Arduino? Wezmę IDE obsługujące debuger i napiszę soft 2 razy szybciej. 

 

36 minut temu, Elvis napisał:

W końcu widzieliśmy próbki programowania autora tej opinii,

Nie stresuj się, więcej już nie zobaczysz, bo od kilku lat praktycznie nie udostępniam źródeł. Na ile zmienił się mój styl pisania pozostaje tajemicą moją i zlecającego.

 

16 minut temu, Elvis napisał:

To że program działa, albo jego autorowi wydaje się że działa jeszcze o niczym nie świadczy

Ciekawa teoria o wydawaniu sie w stosunku do programu działającego 24/4 kilkanaście lat w setkach a nawet tysiącach egzemplarzy.

Wydaje mi się, ze @Elvis nie odróżnia kodu komercyjnego, który tworzy się kilkanaście miesięcy, testuje miesiącami i wprowadza poprawki od kodu, który powstaje w tydzień i można udostępnić go publicznie, bo nie był dopracowany i dobrze przetestowany więc może zawierać błędy. Gdy udostępniam kod, to po to, aby można było poprawić błedy. Niestety, niektóry zrobili sobie z tego mały biznes a później jeszcze na forach opisują jakim jestem kiepskim programistom.

Aby wiec nie kraść mojej pracy i przy okazji nie wyśmiewać mnie, kodów nie udostępniam chyba, ze za opłata. Jeśli więc @Elvis chcesz się ze mnie pośmiać, to kup jakis z moich ostatnich projektów bo sięganie do publicznych kodów i to z przed 5 czy 10 lat jest po prostu śmieszne.

 

16 minut temu, Elvis napisał:

proponuję unikać takich ocen tego co robią inni, w końcu to co sami robimy też może okazać się dalekie od ideału.

Gdy kupuje kody, to nie interesuje mnie czy napisane są ładnie czy nie tylko czy działają poprawnie. Jak styl programowania mi się nie podoba to zmieniam na swój. naturalnie mam pewne wymagania, jak C a nie C++ co rozwiązuje wiele problemów, zero dynamicznej allokacji (chyba, ze inaczej się nie da) itp.

Udostępnij ten post


Link to post

Powstała dyskusja niezwiązana z głównym tematem. Posty usuwam.

Udostępnij ten post


Link to post
Zaloguj się, aby obserwować  
×
×
  • Utwórz nowe...