Skocz do zawartości

Dlaczego należy unikać Arduino na rzecz czystego AVR?


Andrzej30

Pomocna odpowiedź

Warning: count(): Parameter must be an array or an object that implements Countable in /home/limera/public_html/techpolska.pl/wp-content/themes/hotmagazine/fullwidth.php on line 10

Sorry, ale dla mnie ktoś kto nie potrafi zapanować nad durnym szablonem do wordpressa nie jest osobą, która powinna wypowiadać się na jakiekolwiek tematy związane z informatyką.

No - chyba że opublikuje artykuł pt. "Dlaczego należy unikać PHP na rzecz czystego HTML" 😉

  • Lubię! 1
Link do komentarza
Share on other sites

Proponuję kolejny genialny artykuł: Dlaczego należy unikać programowania w C na rzecz czystego kodu maszynowego.

Samego artykułu nie trzeba zmieniać, są w nim takie bzdury i ogólniki że wystarczy zmienić przykłady gotowe.

Link do komentarza
Share on other sites

Gość es2
No - chyba że opublikuje artykuł pt. "Dlaczego należy unikać PHP na rzecz czystego HTML" 😉

Nietrafiony przykład.

PHP wykonuje się po stronie serwera, HTML po stronie klienta.

Co do artykułu z linku, to na siłę można udowodnić wszystko. Może być tak, że ARM będzie niewiele szybszy od AVR. Ciekaw jestem jakiej odpowiedzi udzieli autor na moje pytanie na https://techpolska.pl/dlaczego-nalezy-unikac-arduino/ ? Swoją drogą coś się tam skrypt sypie

Warning: count(): Parameter must be an array or an object that implements Countable in /home/limera/public_html/techpolska.pl/wp-content/themes/hotmagazine/fullwidth.php on line 10

a wystarczy ukryć błędy i ostrzeżenia dla publiki.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

PHP wykonuje się po stronie serwera, HTML po stronie klienta.

Mistrzu... od kiedy HTML się wykonuje? XML też się może wykonuje?

Poczytaj sobie co nieco o językach znacznikowych...

Od kiedy zaczęto w nim osadzać javascript i inny syf. Ale nawet bez tego XML (a zatem też XHTML) jest Turing-complete, więc tak, wykonuje się. Przeglądarka musi to sparsować i wyrenderować, a żeby to zrobić, musi wykonać zawarte w nim instrukcje. Może ty poczytaj o teorii obliczeń trochę.

Link do komentarza
Share on other sites

Nie, języki znacznikowe nie są wykonywane. Nie ma w nich żadnych instrukcji. Osadzenie JS-a czy innego syfu to po prostu informacja dla przeglądarki, że w tym miejscu kończy się HTML a zaczyna coś innego (wspomniane juz syfy), które można pominąć albo nie.

Pamiętaj, że HTML określa znaczenie a nie wygląd. Współcześnie z "wyglądowych" znaczników zostały jedynie i , których stosowania się nie zaleca i przeglądarka powinna je interpretować jako odpowiednio i .

Zresztą porównaj sobie jak "wygląda" strona Forbota na Firefoksie z monitorem, i na tym samym Firefoksie bez monitora, ale za to z głośnikami i wyposażonego w jakiś współczesny screenreader (w Twoim przypadku Orca jest zaraz za pierwszym aptem). A to przecież ten sam praktycznie silnik renderowania, prawda?

Zmień silnik na Lynxa... jeszcze coś innego, prawda?

Gdzie masz tu wykonywanie jakichlolwiek instrukcji?

A obliczenia owszem, przeglądarka wykonać musi, ale nie ma to związku z "wykonywaniem" HTML-a, tylko ze sposobem renderowania narzuconym przez CSS. Którego to CSS-a żadna przegądarka nie ma obowiązku się trzymać.

Link do komentarza
Share on other sites

Nie jest interpretowany (przynajmniej nie w znaczeniu "wykonania programu").

Podobnie jak interpretowany może być Kodeks Karny, który jednak nie jest ciągiem instrukcji, prawda?

I tak samo jak Kodeks Karny, tak samo plik w HTML nie jest programem.

Link do komentarza
Share on other sites

Owszem, jesteś.

Piszesz o "interpretowaniu HTML-a" a jako dowód przedstawiasz twierdzenie że php jest językiem interpretowanym (co jest faktem niezaprzeczalnym i nigdy nie miałem zamiaru twierdzić, że jest inaczej).

Co ma piernik do wiatraka?

BTW wydawnictwo nie jest głupie - pozycja jest o interpretowaniu PHP a nie HTML.

Link do komentarza
Share on other sites

Czuję się głupszy po przeczytaniu tego tekstu.

co nam przyjdzie pożytecznego z nauki ichniejszej składni

Że z nauki C++? Nie rozumiem pytania.

Głupi PIC 16F628A totalnie nas nie zrozumie.

Tak, biblioteki to do siebie mają że na zupełnie różne platformy są różne.

Dlaczego nie zacząć od razu od prawdziwego, czystego C?

Bo pisze się w nim kod 10x wolniej i learning curve jest znacznie ostrzejszy?

To tutaj zaczynamy widzieć korelacje pomiędzy kolejnymi rozwiązaniami, funkcjami czy innymi pętlami.

Ale składnia języka C++ nie zależy od bibliotek?

Arduinio ma gotowe sensowne zasilanie, konwerter UART na USB, poprowadzone ścieżki i pare innych bajerów. Po co od nowa wymyślać koło?

DDRB = 32 – bardzo krótki zapis. Ale co on tak właściwie oznacza? Ano to, że do bitu o wadze 5 przypisujemy 1 (2^5 daje nam w końcu 32).

DDRB = 0x05 – o Jezu, jakieś iksy nam się tutaj pojawiają! Ale oznacza to jedynie zapis w systemie szesnastkowym. Zasada działania jest identyczna, jak wyżej. Różnica jest w liczeniu, bo w końcu nie zatrzymujemy się na 9, a na F.

DDRB = 0b00100000 – jakby komuś było mało, zawsze można zapisywać to w postaci binarnej!

Język C daje nam wolność na niespotykaną w Arduino skalę.

Ale można korzystać z magicznych numerków pod Arduino. Tylko po co? To zmniejsza czytelność kodu jakieś 100x. Also: 0x05 to nie to samo co pozostałe dwa.

Czy jest trudniej? Wcale że nie, sami widzicie!

Czy jest trudniej pamiętać nazwy 1000 rejestrów ATMegi (nie mówiąc już o na przykład STM32) niż używać Hardware Abstraction Layer w takiej czy innej postaci? Tak.

_ms_delay(1000);

Za pomocą #include możemy w bardzo prosty sposób zaimplementować do naszego programu obsługę opóźnień. Do tego nie musimy ograniczać się do milisekund, bo możemy także zapisać to jako _us_delay(1000), dla znacznie dokładniejszych pomiarów.

digitalWrite(13, LOW);

PORTB &= ~(1<

Matko Boska! Co to nam się pojawiło? Znowu jakieś udziwnienia!

Wcale nie, jest to prosty zapis oparty na bramce AND oraz NOT, umożliwiający nam wysłanie na PB5 stanu niskiego. Analogia działania jest taka sama jak przy bramce OR.

Po pierwsze: Zastąpienie jednej biblioteki inną nie jest osiągnięciem. Po drugie "prosty zapis" nie tłumaczy jak on działa xD

C++fobia mnie denerwuje. Blogspam też.

Link do komentarza
Share on other sites

Ja sam nie jestem wielkim fanem arduino (jeśli chodzi o ichniejsze biblioteki), ale artykuł tego typu to już zakrawa na... hmmm ignorancję?

Płytki arduino, co by o nich nie mówić, to są świetną platformą do różnych rzeczy. Sam mam kilka różnych (i mimo że nie korzystam z bibliotek arduino), to posiadanie kawałka sprzętu z potrzebnymi peryferiami (np. zasilanie i gniazdami) jest bardzo fajne - chcę na szybko coś sprawdzić to nie muszę budować układu na płytce stykowej, czy wręcz bawić się w projektowanie płytki, a i wiem że jak coś nie działa (chociaz powinno) to nie jest najpewniej wina płytki tylko gdzieś coś źle podłączyłem - znacznie mniej czasu na szukanie "baboli" - czyli błędów tak oczywistych że aż nie branych pod uwagę 😃

Also: 0x05 to nie to samo co pozostałe dwa.

To tylko świadczy że autor artykułu sam nie do końca... ogarnia C i nie miał do czynienia z większymi projektami gdzie korzystanie z bibliotek często jest wręcz niezbędne:)

Link do komentarza
Share on other sites

Akurat Helion jest wyjątkowo złym przykładem wykorzystywania tego co napisano jako wzorca, czy też autorytetu. Wydawnictwo ma na koncie wartościowe pozycje, ale są i takie, za które w starych dobrych czasach na stos trafiłby cały nakład wraz z redakcją i właścieielem. Nie chcę mówić że wydają złe książki, ale są i takie, których czytanie powinno być zakazane dla niepełnoletnich, a błędy w tłumaczeniu kwalifikują się do powieszenia tłumacza - co i tak jest łagodnym wymiarem kary. Więc cytowanie jednego wyrywkowego zdania, z przypadkowej ksiązki to żaden autorytet.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.