RTV forum PL | NewsGroups PL

Jakie edytory C++ do programowania na Arduino ułatwiają naukę i organizację kodu?

arduino, początki, inny edytor

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jakie edytory C++ do programowania na Arduino ułatwiają naukę i organizację kodu?

Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next

Janusz
Guest

Thu Apr 27, 2017 4:25 pm   



W dniu 2017-04-26 o 20:32, ToMasz pisze:
Quote:
W dniu 26.04.2017 o 09:21, sczygiel@gmail.com pisze:
W dniu wtorek, 25 kwietnia 2017 22:16:58 UTC+2 użytkownik ToMasz napisał:
witam
Piszę prosty program który ma się wykonywać na arduino. (...)

Napisz co ten program ma robic i jak go zaprojektowales.
eeeetam. alarm. 10 czuników, sprawdzanie czy żyją, alarmowanie
telefonem. jak alarm nie działa to ma zliczać wejścia.
Daj znać jak napiszesz ale obawiam się że będziemy dłuuuugo czekać.

Poza tym program nie jest banalny jak Ci się wydaje.

Quote:
godzina roboty dla programisty, ja się męczę z różnicą = i ==
Bo trzeba przejść przez kurs albo tutoriala żeby wiedzieć że = jest

przypisaniem a == porównaniem.

Quote:
Ale moje wycie do księżyca jest z innego powodu. po nieudanej kompilacji
mam podane w której lini jest coś nie teges, ale edytor nie numeruje
lini!!!! czyli jeśli jest to linia 126 to sam muszę liczyć 1, 2, 3....
126. to jest problem do rozwiązania
Już Ci napisali, poza tym edytor chyba w lini statusu na dole pokazuje w

którym miejscu jest kursor.


--
Pozdr
Janusz

Janusz
Guest

Thu Apr 27, 2017 4:27 pm   



W dniu 2017-04-27 o 09:26, ToMasz pisze:
Quote:
W dniu 26.04.2017 o 22:56, Janusz pisze:
W dniu 2017-04-25 o 22:16, ToMasz pisze:
witam
Piszę prosty program który ma się wykonywać na arduino. tyle że robi mi
się cholernie długi. Dla programisty, to pewno byłby pikuś, ale dlamnie

Napisz co ci ma robić to ci go napiszę. Możesz na priva, adres jest
dobry.



dzięki, ale sam się muszę nauczyć, a łatwiejszego użytecznego projektu
niż alarm - nie wymyślę.
Oki.


Quote:
jednak jeśli masz nadmiar czasu, to rozważ program do następującej
zabawki której robocza nazwa to inteligentna strzelnica
Ale to miło być prosty program a nie rozwiązywanie problemów

sprzętowych, myślałem że ten etap masz już opanowany.




--
Pozdr
Janusz

slawek
Guest

Thu Apr 27, 2017 4:36 pm   



On Thu, 27 Apr 2017 18:25:39 +0200, Janusz <janusz_kk@o2.pl> wrote:
Quote:
Już Ci napisali, poza tym edytor chyba w lini statusu na dole
pokazuje w
którym miejscu jest kursor.

Akurat w tym IDE nie.

Grzegorz Niemirowski
Guest

Thu Apr 27, 2017 4:55 pm   



Marek <fake@fakeemail.com> napisał(a):
Quote:
Czy to nie.Ty rok temu, moją identyczn sugestię innemu użytkownikowi
skomentowałeś "... i będzie musiał rozwiązywać setki nowych problemów,
których w Arduino nie ma."? Smile

Nie przypominam sobie. Nie mam tego w wysłanych ani nie mogę znaleźć w
Google.

--
Grzegorz Niemirowski
http://www.grzegorz.net/

Grzegorz Niemirowski
Guest

Thu Apr 27, 2017 4:57 pm   



slawek <fake@fakeemail.com> napisał(a):
Quote:
Goto nie używaj. Nie ma sensu. Nigdy nie miało.

To mit, że goto jest z definicji złe i nigdy nie powinno się go używać.
http://stackoverflow.com/questions/245742/examples-of-good-gotos-in-c-or-c

--
Grzegorz Niemirowski
http://www.grzegorz.net/

slawek
Guest

Thu Apr 27, 2017 5:05 pm   



On Thu, 27 Apr 2017 18:25:39 +0200, Janusz <janusz_kk@o2.pl> wrote:
Quote:
Poza tym program nie jest banalny jak Ci się wydaje.

Tak na oko od 80 do 2000 linijek, z czego połowa komentarze.

Zacznij nie od pisania w C programu. Zacznij od rozpisania,
szczegółowo, co i dlaczego ten program ma robić. Poszukaj w Google co
to UML use case diagram. Narysuj coś takiego.

Co to jest czujnik? Jak się komunikuje? Czy transmisja ma być jakoś
szczególnie zabezpieczona? Czy system będzie kiedyś rozbudowany o
nowe rodzaje czujników?

Co to jest alarm? Ma robić hałas? Czy wysyłać SMS? A może coś innego?

Czy będzie jakiś wyświetlacz? A jakieś guziki? A może ma się łączyć
Wifi/BT? Zapisywać logi na karcie SD?

Ma monitorować stan baterii? Swojej? Czujników?

Skąd ma brać czas? RTC? A co watchdogiem? Czy hibernować?

Jak sobie to spiszesz i rozrysujesz... przemyśl architekturę
programu. Próba pisania od razu w C, bez ogólnego planu architektury,
to 90% szansa na klęskę.

Nie przejmuj się długością programu. 2000 linijek to niewiele...
jeżeli nie są zlepkiem chaotycznych goto.

Jacek Radzikowski
Guest

Thu Apr 27, 2017 6:05 pm   



On 04/25/17 16:16, ToMasz wrote:
Quote:
witam
Piszę prosty program który ma się wykonywać na arduino. tyle że robi mi
się cholernie długi. Dla programisty, to pewno byłby pikuś, ale dlamnie
uciążliwe staje się odgadywanie co chciałem zrobić wczoraj i dlaczego to
tak zapisałem. kiedyś cośtam robiłem w basicu i może to właśnie
pokutuje, bo brakuje mi "goto"
tak czy owak, wieki temu podczas edukacji miałem jakieś podstawy c++ i
edytor, środowisko programistyczne umożliwiało lepsze ogarnięcie
programu. nie pamiętam ale jakieś kolorki były.... Teraz jak mi braknie
średnika na końcu lini to mam pierdylion błędów - żaden nie wspomina o
średniku. czy jest jakis inny niż ten arduinowy edytor w którym można
pisać program na arduino?

Oryginalne środowisko Arduino jest bardzo siermiężne, ale ma tę zaletę
że działa niemal od pierwszego kopa. Niestety, każda próba zrobienia
czegoś bardziej skomplikowanego szybko zamienia się w walkę z
ograniczeniami. Możesz podpiąć zewnętrzny edytor, ale to się mija z celem.

Zamiast tego mogę polecić Atom z wtyczką Platform.io. Może nie jest aż
taki bezobsługowy jak środowisko Arduino, ale jeśli nie obawiasz się
tego że na początku trzeba będzie poświęcić kilka minut na
zainstalowanie wtyczek (platform.io, lint, etc), to dostaniesz proste w
obsłudze, bardzo uniwersalne, profesjonalnej klasy narzędzie.

Jacek.

slawek
Guest

Thu Apr 27, 2017 6:11 pm   



On Thu, 27 Apr 2017 18:57:41 +0200, "Grzegorz Niemirowski"
<gnthexfiles@poczta.onet.pl> wrote:
Quote:
To mit, że goto jest z definicji złe i nigdy nie

Od iluś tam lat programuje w C. Nigdy nie musiałem użyć goto. Nigdy
nie było sytuacji w której goto pozwoliłoby aby mój program działał
lepiej lub był bardziej czytelny.

W Fortranie IV używałem goto. W Snobolu 4 używałem skoków F/S. W
Asemblerze Motoroli i w Asemblerze Intela używałem skoków, np. BNE i
JNZ.

Ale w C, C++, C# nigdy nie musiałem. Więc nie używałem. Bo i po co?

Dodam: long jump w C. Też nie używam. Bo po prostu nie potrzebuję.

Zwykle użycie goto jest sygnałem słabej umiejętności programowania.
To trochę tak jak wtedy gdy ktoś mówiąc, po polsku, co drugie słowo
wstawia łacińskie słowo określające krzywą. Zwykle nie świadczy to o
tym że słuchamy matematyka, albo wybitnego literata-poliglotę. Zwykle
jest to ktoś o niezbyt wysokiej pozycji społecznej i adekwatnej
inteligencji. Podobnie z goto. Dużo goto w C to po prostu niewiedza o
mechanizmach sterowania właściwych dla tego języka. Przy tym dużo to
może być nawet jedno.

slawek
Guest

Thu Apr 27, 2017 6:19 pm   



Jeszcze mały drobiazg: goto sprawia czasem kłopoty kompilatorom C++.
Np. Borland C potrafił zapominać wywoływać destruktory po skoku poza
blok.

Gdy język jest strukturalny, to goto nie trzeba używać.

A tego czego nie trzeba (robić dla osiągnięcia celu) robić nie
należy. Ot i cała filozofia.

Grzegorz Niemirowski
Guest

Thu Apr 27, 2017 6:21 pm   



slawek <fake@fakeemail.com> napisał(a):
Quote:
Od iluś tam lat programuje w C. Nigdy nie musiałem użyć goto. Nigdy nie
było sytuacji w której goto pozwoliłoby aby mój program działał lepiej lub
był bardziej czytelny.
W Fortranie IV używałem goto. W Snobolu 4 używałem skoków F/S. W
Asemblerze Motoroli i w Asemblerze Intela używałem skoków, np. BNE i JNZ.
Ale w C, C++, C# nigdy nie musiałem. Więc nie używałem. Bo i po co?
Dodam: long jump w C. Też nie używam. Bo po prostu nie potrzebuję. Zwykle
użycie goto jest sygnałem słabej umiejętności programowania. To trochę tak
jak wtedy gdy ktoś mówiąc, po polsku, co drugie słowo wstawia łacińskie
słowo określające krzywą. Zwykle nie świadczy to o tym że słuchamy
matematyka, albo wybitnego literata-poliglotę. Zwykle jest to ktoś o
niezbyt wysokiej pozycji społecznej i adekwatnej inteligencji. Podobnie z
goto. Dużo goto w C to po prostu niewiedza o mechanizmach sterowania
właściwych dla tego języka. Przy tym dużo to może być nawet jedno.

U mnie jest podobnie. Piszę od lat w C, czasem C++ i C#. Nauczono mnie żeby
nie używać goto i nie użyłem nigdy. Równiez z tego powodu jakoś nie
cierpiałem. Nie próbuję tutaj propagować tego słowa kluczowego. Natomiast
linki takie jak przytoczony przekonują mnie, że czasem taka konstrukcja ma
sens i warto jej użyć.

--
Grzegorz Niemirowski
http://www.grzegorz.net/

jacek
Guest

Thu Apr 27, 2017 7:26 pm   



W dniu 2017-04-27 o 09:26, ToMasz pisze:

Quote:
jednak jeśli masz nadmiar czasu, to rozważ program do następującej
zabawki której robocza nazwa to inteligentna strzelnica

10 tarcz, dwa pistolety, i opcjonalnie tablica wyników
pistolety pownny "strzelać" do tarcz czerwonym laserkiem za 3zł. ale
wiązkę trzeba jakoś zmodulować, tak aby tarcza rozróżniała który
pistolet trafił. myślałem zeby światło "migało" w pistoletach, w każdym
z inną częstotliwością albo tego użyć 2 starych pilotów do tv.
każda z tarcz, powinna wyemitować dzwięk, następnie oczekiwać na
trafienie ze 3 sekundy i diodką lub dzwiękiem zasygnalizować który
trafił. no i właśnie na tym rozróżnianiu który pistolet trafił -
całkowicie poległem. czujniki światła rezystancyjne - są dość wolne i
nie wiem jaką częstotliwość rozróżnią. odbiorniki do pilotów "słabo
widzą" laserek. a programowanie - to juz wiecie jak mi idzie.
Jeśli masz wolny czas, spróbuj pomyśleć czy dałoby się to zrealizować za
pomocą programu i jaka para - laser - jako nadajnik i cośtam jako
odbiornik zadziała. podczerwień jako "nośnik strzału" odpada, bo nigdy w
życiu nie skalibruje takiego pistoletu.

Jako nadajniki dwa atmelki migające jeden 1000Hz drugi

200Hz do modulacji laserka.
Fotortanzystor jako odbiornik i za nim 2 szt LM567.
Dalej atmelek wydający dzwięki, liczący itp.

--
pzdr, j.r.

jacek
Guest

Thu Apr 27, 2017 7:30 pm   



W dniu 2017-04-27 o 09:26, ToMasz pisze:

Quote:
10 tarcz, dwa pistolety, i opcjonalnie tablica wyników
pistolety pownny "strzelać" do tarcz czerwonym laserkiem za 3zł. ale
wiązkę trzeba jakoś zmodulować, tak aby tarcza rozróżniała który
pistolet trafił. myślałem zeby światło "migało" w pistoletach, w każdym
z inną częstotliwością albo tego użyć 2 starych pilotów do tv.
każda z tarcz, powinna wyemitować dzwięk, następnie oczekiwać na
trafienie ze 3 sekundy i diodką lub dzwiękiem zasygnalizować który
trafił. no i właśnie na tym rozróżnianiu który pistolet trafił -
całkowicie poległem. czujniki światła rezystancyjne - są dość wolne i
nie wiem jaką częstotliwość rozróżnią. odbiorniki do pilotów "słabo
widzą" laserek. a programowanie - to juz wiecie jak mi idzie.
Jeśli masz wolny czas, spróbuj pomyśleć czy dałoby się to zrealizować za
pomocą programu i jaka para - laser - jako nadajnik i cośtam jako
odbiornik zadziała. podczerwień jako "nośnik strzału" odpada, bo nigdy w
życiu nie skalibruje takiego pistoletu.

Ewentualnie 2 atmelki nadające kody RC5 bez modulacji na wskaźniki.

Odbiornik na fototranzystorze itd...

--
pzdr, j.r.

slawek
Guest

Thu Apr 27, 2017 9:02 pm   



On Thu, 27 Apr 2017 20:21:50 +0200, "Grzegorz Niemirowski"
<gnthexfiles@poczta.onet.pl> wrote:
Quote:
linki takie jak przytoczony przekonują mnie, że czasem taka
konstrukcja ma
sens i warto jej użyć.

Czasem (w jezyku C) goto ma sens.

Nigdy nie warto goto używać.

Po prostu aby użyć goto trzeba myśleć w kategoriach goto, czyli
programowania sekwencyjnego. A to bardzo słabe narzędzie.
Zdecydowanie lepiej użyć OOP lub paradygmatu funkcyjnego.

Innymi słowy: goto to takie lutowanie smd lutownicą do rynien.

slawek
Guest

Fri Apr 28, 2017 8:47 am   



Użytkownik <sczygiel@gmail.com> napisał w wiadomości grup
dyskusyjnych:0e50f520-5d27-4bb7-b523-6fcdad5c8aec@googlegroups.com...
Quote:

I co z tego? Nawet nie chce mi się czytać: ktoś chce udowodnić że potrafi
zrobić z goto coś, co daje się zrobić prościej bez goto?

Guest

Fri Apr 28, 2017 8:51 am   



W dniu czwartek, 27 kwietnia 2017 20:21:53 UTC+2 użytkownik Grzegorz Niemirowski napisał:
Quote:
slawek <fake@fakeemail.com> napisał(a):
Od iluś tam lat programuje w C. Nigdy nie musiałem użyć goto. Nigdy nie
było sytuacji w której goto pozwoliłoby aby mój program działał lepiej lub
był bardziej czytelny.
W Fortranie IV używałem goto. W Snobolu 4 używałem skoków F/S. W
Asemblerze Motoroli i w Asemblerze Intela używałem skoków, np. BNE i JNZ.
Ale w C, C++, C# nigdy nie musiałem. Więc nie używałem. Bo i po co?
Dodam: long jump w C. Też nie używam. Bo po prostu nie potrzebuję. Zwykle
użycie goto jest sygnałem słabej umiejętności programowania. To trochę tak
jak wtedy gdy ktoś mówiąc, po polsku, co drugie słowo wstawia łacińskie
słowo określające krzywą. Zwykle nie świadczy to o tym że słuchamy
matematyka, albo wybitnego literata-poliglotę. Zwykle jest to ktoś o
niezbyt wysokiej pozycji społecznej i adekwatnej inteligencji. Podobnie z
goto. Dużo goto w C to po prostu niewiedza o mechanizmach sterowania
właściwych dla tego języka. Przy tym dużo to może być nawet jedno.

U mnie jest podobnie. Piszę od lat w C, czasem C++ i C#. Nauczono mnie żeby
nie używać goto i nie użyłem nigdy. Równiez z tego powodu jakoś nie
cierpiałem. Nie próbuję tutaj propagować tego słowa kluczowego. Natomiast
linki takie jak przytoczony przekonują mnie, że czasem taka konstrukcja ma
sens i warto jej użyć.


Zajrzyjcie sobie do linka który podał Grzegorz. Zajawię również że gdzieś w kernelu linuxa goto siedzi i jest tam bardzo pozyteczne i nikt nie miał ochoty go wymieniać na przebieg strukturalny.


Ja rozumiem wasze podejscie i je podzielam. Ale poczytalem nieco i jednak są przypadku gdzie goto jest i sprawniejsze i elegantsze niz dodanie dodatkowych zmiennych, klauzuli if i pogrupowanie akcji.

Tyle ze aby wiedzieć że w danym miejscu trzeba goto trzeba najpierw napisac strukturalnie, popatrzeć i ocenić ze to zbyt skomplikowane, za duzo warunków i niepotrzebnie będzie się wykonywać a goto jest zgrabniejsze.


Zerknijcie sobie w internet i poczytajcie gdzie ludzie zdecydowali sie na goto i wyszlo im na dobre :)

Tutaj jeden z artów na ten temat.
http://blog.smartbear.com/development/goto-still-has-a-place-in-modern-programming-no-really/
Goto nie jest dobre w wielu przypadkach ale jednak czasem jest pozyteczne.

Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jakie edytory C++ do programowania na Arduino ułatwiają naukę i organizację kodu?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map