Jaki język do programowania arduino , mikroktorolerow ?

Odpowiedz Nowy wątek
2019-01-02 18:16
Trzeźwy Pomidor
0

Cześć
Jakie język polecacie do nauki aby programować urządzenia IoT(arduino , mikrokotrolery). Wiem że kiedy był to język C ale czy nadal tak jest i jak tak to dla czego ma przewagę nad innymi językami?

Pozostało 580 znaków

2019-01-02 18:54
0

Jak się mieści w pamięci to c++ bo szybko i wygodnie oraz przenośnie a jak trzeba żeby szybko działało i wchodziło w attiny to asm.

Pozostało 580 znaków

2019-01-08 09:49
1

C nadal jest bardzo popularny w embedded i raczej prędko to się nie zmieni. Więc C jest bardzo dobrym wyborem. Co do przewagi, na to składa się wiele czynników. Na przykład to, że język ten od kilku dekad jest używany do pisania niskopoziomowego oprogramowania i spisuje się tam wyśmienicie.

Pozostało 580 znaków

2019-01-11 07:34
Krówka
0

Do embedded (szczególniez małą pamięcią i słabymi prockami) polecam: C i asm. Jeśli jesteś sado-masochistą to bierz C++.

To ciekawe że nawet spore firmy zaczynają skazywać się na ten "sado-masochizm" o którym piszesz. Ba... nawet standardy temat adresują.... - Mokrowski 2019-01-11 10:29

Pozostało 580 znaków

2019-01-11 11:12
Krówka
0

To ciekawe że nawet spore firmy zaczynają skazywać się na ten "sado-masochizm" o którym piszesz. Ba... nawet standardy temat adresują....

Widocznie mają "mądrych" doradców i lubią i sobie i innym "ułatwiać" życie? A może kierują się zasadą, którą słyszałem osobiście w jednej z firm: "napiszmy ten program w pythonie, bo w końcu Google używa pythona - a skoro tak wielka firma go używa to on musi być dobry." To prawie taka sama argumentacja :) C++ jest nowszy, więc lepiej jego używajmy no bo C jest takie stare, passe i w ogóle be. A poza tym C za krótko się kompiluje i za szybko działa :)

A teraz na poważnie bo chyba nie jestem na czasie - w kwestii standardów, o których piszesz - chodzi Ci o standard MISRA?

Nie nie chodzi mi o MISRA... Z argumentacją na tym poziomie trudno dyskutować i także tracić czas. Wybij tylko okno w swojej piwnicy by podano Ci posiłek. Python i owszem. Infrastruktura testowa i CI. Jesteś już przekonany stąd poprzestanę na stwierdzeniu że ktoś powinien zgasić światło... - Mokrowski 2019-01-11 18:15

Pozostało 580 znaków

2019-01-11 17:33
0

C/C++ z punktu widzenia komercyjnego. Dla zabawy, to właściwie cokolwiek. Python, NodeJS śmigają pod Raspberry, jest też Rust, który daje rade na ARMach i Go, które radzi tam sobie słabiej ale jednak radzi.
Warto się jednak zastanowić jakie parametry ma mieć ten mikrokontroler - pisanie w C++ bez korzystania z dobrodziejstwa STL'a to masochizm, a niestety przy słabszych płytkach trzeba uważać z czego się korzysta.

Odnośnie samego Arduino - jeśli patrzysz pod kątem zawodowym, to odpuść sobie tę platformę.


Pozostało 580 znaków

2019-01-13 16:31
Krówka
0

Nie nie chodzi mi o MISRA... Z argumentacją na tym poziomie trudno dyskutować i także tracić czas. Wybij tylko okno w swojej piwnicy by podano Ci posiłek. Python i owszem. Infrastruktura testowa i CI. Jesteś już przekonany stąd poprzestanę na stwierdzeniu że ktoś powinien zgasić światło...

Ech, takie wycieczki osobiste są zupełnie zbyteczne (wybij okno w piwnicy, etc).

Starałem się zwrócić uwagę na fanatyzm i głupotę niektórych osób, które najchętniej w każde urządzenie embedded pchałyby na siłę C++ a szczególnie do systemów o bardzo ograniczonych zasobach i w zastosowaniach niskopoziomowych.

Realny przykład z pewnej firmy - porównanie:

jest sobie system działający na Linuxie, 32MiB flash, 64 MiB RAM, brak grafiki - działają tylko programy typu daemon:

pewna prosta aplikacja - daemon bez GUI forwarduje dane między serialem a ethernetem - czyli w miarę niskopoziomowo

  1. najpierw napisana w C, objętość kodu wynikowego kilkadziesiąt kiB, zajętość procka <20%
  2. przepisana przez fanatyka w C++ z Boostami i innymi *@#%-ami, kod wynikowy: 11MiB, zajętość procka >60%

Zwróćmy uwagę że to system Linux, gdzie ma działać nie jedna a wiele aplikacji - a tu jedna app-ka w C++ zajmuje tyle RAM-u, flasha i procka. A gdzie miejsce dla innych aplikacji?

Nie zawsze jest tak, że jak brakuje pamięci "to sobie dokup". To są rozwiązania embedded - one muszą spełniać określone
warunki poboru prądu, wymiarów, wagi, kosztów, etc.

Jedna z decyzyjnych osób z tego zespołu, który portował tę aplikację na C++ stwierdziła kiedyś:
"C++ ma niewielki narzut w stosunku do C" - czy to nie jest zaślepienie i fanatyzm?

A z tym pythonem chodziło mi o to jak umotywowaną argumentację zastosowano a nie o sam fakt używania pythona.

Morał miał być taki - trochę rozwagi przy wyborze rozwiązań dla embedded.

Pozostało 580 znaków

2019-01-13 17:47
1

"C++ ma niewielki narzut w stosunku do C"

To akurat prawda jeśli mówimy o wydajności. Natomiast problemy polegające na tym, że ta sama aplikacja napisana w C++ działa wolniej niż ta w C (bądź odwrotnie) najczęściej wynikają nie z cech tych języków tylko umiejętności programistów. Oczywiście mam na myśli aplikacje działające na systemach operacyjnych (np. linux) a nie firmware do mikrokontrolerów bo tam nie miałem doświadczenia z C++ więc się nie wypowiadam.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0