Skocz do zawartości
slon

Dlaczego Arduino/IDE jest Fajne?

Pomocna odpowiedź

PlatformIO nie próbowałem AS 7 mam zainstalowany ale jak to się włącza (w sensie długo)  to notepad++  wystartuje kilka razy a w zasadzie to nawet arduino ide z notpadem++ szybciej się uruchamia niż AS7 (bynajmniej u mnie). Do notepad++ jest plugin arduino

nplugin.thumb.jpg.0c87d25e8a20b7cb99de24908fbf715c.jpg

kolory można sobie poustawiać w zasadzie dowolne.

No ale miało być o arduino/ide to taki kolejny tips dla osób które korzystają jednak z arduino ide ale mają dość rozciągania tego małego okienka edytora to można sobie to łatwo ustawić

ustawieniaide.thumb.jpg.0f6cff97daa0549a17979dee319c7ada.jpg

w ustawieniach klikamy w tą ścieżkę. Następnie otwieramy plik preferences.txt. Zamykamy wszystkie okna arduino ide

txtp.thumb.jpg.b08189081530acdb97ad1ec1994499ff.jpg

ustawiamy szerokość i wysokość okna na odpowiednią dla naszych potrzeb i zapisujemy. Ponownie włączamy arduino ide w nowym rozmiarze.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

@slon ciekawy pomysł na temat 😉

Jak dla mnie zaletą Arduino IDE jest zwyczajne uproszczenie procesu kompilacji i wgrywania programu. Jeden przycisk, który załatwia wszystko, a w opcjach trzeba tylko wskazać port COM i typ płytki - prościej chyba się nie da. Oczywiście generuje to pewne ograniczenia, ale początkującym tak jest wygodniej. Warto też wspomnieć o dość prostej funkcji, która niestety nie jest często używana przez początkujących, a kryje się ona pod skrótem CTRL+T. Mowa oczywiście o automatycznym formatowaniu kodu 😉

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Czy alternatywne edytory dla Arduino mają takie coś skok do definicji, referencji funkcji?

skok.thumb.gif.2224e21261b9ed33e973c4ffc91a52b8.gif

I szukanie w całym projekcie, łącznie z bibliotekami ?

find.thumb.gif.48b176c0f45b601b27fc149f9415f3bd.gif

W którym tam IDE niby był skok ale nie działał. Szukania w całym projekcie nie widziałem a to są rzekłbym podstawowe potrzeby podczas pisania kodu.

Udostępnij ten post


Link to post
Share on other sites

@Treker co do formatowania to sam długo tego nie wiedziałem a faktycznie bardzo przydatne.  Jak dla mnie kolejna ciekawa sprawa tyczy się Arduino Reference. Wiadomo , że jest na arduino.cc , w kursach forbota, ale można też pobrać aplikację na smartfona : Arduino Language Reference z google play. Aplikacja działa offline możemy ją pobrać bezpłatnie ale jeśli chcemy mieć dostęp do funkcji i do wyszukiwania to trzeba zapłacić  10 czy 15zł dokładnie nie pamiętam. Jest tam sporo przykładów podobnie jak na arduino.cc (ale niektóre chyba sią inne). Na początek super sprawa ale później też się przydaje.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
7 godzin temu, RFM napisał:

Czy alternatywne edytory dla Arduino mają takie coś skok do definicji, referencji funkcji?

skok.thumb.gif.2224e21261b9ed33e973c4ffc91a52b8.gif

I szukanie w całym projekcie, łącznie z bibliotekami ?

find.thumb.gif.48b176c0f45b601b27fc149f9415f3bd.gif

W którym tam IDE niby był skok ale nie działał. Szukania w całym projekcie nie widziałem a to są rzekłbym podstawowe potrzeby podczas pisania kodu.

Jeśli chodzi o wspomniane przeze mnie Visual Studio Code - tak. 

Skok do definicji lub deklaracji i zmiana nazwy symbolu (lokalnie):
image.thumb.png.438ebe641866d6b57702ea91b0481db2.png

Wyszukiwanie w w całym projekcie po wykonaniu kombinacji ctrl + shift + h.

Do tego są takie czary jak edycja multi-linijkowa (multiline editing): https://kencenerelli.files.wordpress.com/2018/03/multilineediting_thumb.gif?w=630&h=586 i wiele innych czekających na własnoręczne odkrycie.

Edytowano przez Matthew11
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Polecam Sloeber, wszystkie zalety Arduino IDE (biblioteki, płytki, kompilacja, wgrywanie) i wszystkie zalety prawdziwego IDE (Eclipse) - uzupełnianie, otwieranie plików źródłowych, kolorowanie składni, pluginy.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Sprawdziłem w Arduino IDE 1.8.10, nawet w menu już nie ma "skocz do referanecji", "skocz definicji". Niczym M$ "poprawili" błąd wywalając opcję z menu.

Zrezygnowałem z zewnętrznego edytora, przełączanie pomiędzy Notepad++ a Arduino nie jest zbyt wygodne, mimo, ze ma 3 monitory. Po prostu, przyzwyczaiłem się, że mam wszystko w jednym.

Miało być co jest fajne a ja widzę tylko problemy. Chyba za dużo wymagam albo przyzwyczaiłem się do dobrego. Nie odnajduję się w Arduino. To pewnie jak z Trabantem i Mercedesem. Jak się jeździło Trabantem, to "po co mi lepsze", jak się pojeździło Mercedesem, to za nic nie chciało się przesiąść do Trabanta, tyle, że Mercedes  był(jest) dziesiątki czy setki razy droższy od Trabanta, w przypadku UNO czy MEGA jest odwrotnie, gorsze kosztuje więcej.

Aktualizacja:

29 minut temu, Chumanista napisał:

wszystkie zalety prawdziwego IDE (Eclipse) - uzupełnianie, otwieranie plików źródłowych, kolorowanie składni, pluginy.

Ale sprzętowego debugowania nie ma 😞 Każdy, kto używał sprzętowego debugera nie bedzie chciał wrócić do metod Mirka K. z dioda czy Arduinowego SerialMonitor. Jest światełko w tunelu (nowe Arduino IDE) ale wszystko wskazuje, że tylko na ARM.

Inna sprawa, ze Eclipse nie trawię, co wynika z Keila i AvrStudio.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Zgadzam się z przedmówcą w całej rozciągłości a nawet bardziej. Biorąc pod uwagę staż arduino IDE to wg. mnie do tej pory powinno być dopieszczone maksymalnie jak się da a tym czasem jakby nie próbować czegoś tam chwalić nie zmieni to faktu, że to "buła" jakich mało. Polecam ze swojej strony eclipsa z odpowiednimi rozszerzeniami na każdą okazję choć i eclipse nie jest idealny ale na pewno wiele lepszy od arduino IDE i zapewne z czasem będzie jeszcze lepszy w odróżnieniu od arduino, które jakby zatrzymało się w rozwoju tak w kwestii frameworka jak ide.

Podchodząc do sprawy pragmatycznie to jedynie AS najlepiej się do avr nadaje mimo wszystkich błędów jakie zawiera, dziwne, że przestał być rozwijany.

Udostępnij ten post


Link to post
Share on other sites
13 minut temu, atMegaTona napisał:

jedynie AS najlepiej się do avr nadaje

Jak to się instaluje na moim Ubuntu/Debianie? A jak na Macu?

Aha, nie chcę słyszeć, że mam sobie zainstalować VirtualBoxa, dokupić RAM-u i zapłacić za Windowsa tylko po to żeby programować jakieś ATtiny...

 

Udostępnij ten post


Link to post
Share on other sites
35 minut temu, atMegaTona napisał:

AS najlepiej się do avr nadaje mimo wszystkich błędów jakie zawiera, dziwne, że przestał być rozwijany.

Nie jest rozwijany bo będzie wszystko w jednym, czyli MPLAB pewnie w wstawkami specjalnie "psującymi" kod w wersji FREE.

Udostępnij ten post


Link to post
Share on other sites

Skoro już jesteśmy przy Atmel Studio to opiszę coś pożytecznego czyli: jak przesiąść się z Arduino IDE na Atmel Studio . W tym celu użyłem:

Arduino IDE 1.8.2 , Atmel Studio 7.0 zainstalowane w katalogach domyślnych. Arduino Nano (klon). Na początek otwieramy Arduino IDE tworzymy nowy (pusty) projekt o nazwie np: Arduino. W ustawieniach Arduino IDE zaznaczamy opcję upload (jest podkreślona na obrazku) i wgrywamy do naszego arduino (u mnie jest to nano). 

AS71.thumb.jpg.bf052c1cdfa20103c01d6500056654f7.jpg

To co nas będzie interesowało to port COM oraz Overriding Baud Rate. Teraz instalujemy Atmel Studio 7.0 

AS72.thumb.jpg.96c3738f04c92fdcda8d1f5a69b78db6.jpg

Po zainstalowaniu AS7 wybieramy Tools i kolejno External tools. Tutaj mamy trzy pozycje do uzupełnienie:

Title: proponuje zostawić tak jak jest 

Command: wklejamy to co poniżej

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude.exe

Arguments: tutaj trzeba uwzględnić numer portu COM   oraz Overriding Baud Rate tak jak na pierwszym obrazku z Arduino IDE. Tu się zgada więc nie muszę tego zmieniać. Jeśli będzie inaczej to po wklejeniu do AS trzeba sobie te wartości odpowiednio ustawić.

-C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega328p -carduino -PCOM7 -b57600 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

Na koniec Zaznaczamy jeszcze: Use output window. W tym momencie mamy skonfigurowany AS7 do pracy z arduino. Tworzymy więc pierwszy projekt oparty na szkicu Arduino IDE.

AS73.thumb.jpg.4d2d9906f5b82bb6a0c8c6b1f7f48515.jpg

Wybieramy kolejno File , New project , wybieramy ostatnią pozycję i zatwierdzamy. 

AS74.thumb.jpg.8ddbce2fa174c81b935e87f943bf67a9.jpg

tutaj kolejno wybieramy ścieżkę do pliku arduino, który stworzyliśmy w pierwszym etapie oraz rodzaj płytki i zatwierdzamy. 

AS75.thumb.jpg.d5eb7779fd342391c4c4de4f90c7481d.jpg

teraz w zasadzie można tylko uzupełnić setup() i loop() o np: kod blinka. Kolorowanie składni oraz autouzupełnianie działa wiec będzie to bardzo proste.

Następnie wybieramy Build Solution i sprawdzamy czy kompilator nie zgłosił żadnych błędów.

AS76.thumb.jpg.21a59c2cd252445df924d3199f3ed653.jpg

Następnie przechodzimy do zakładki tools i wybieramy Arduino_via_bootloader (taki tytuł nadaliśmy). Jeśli cały proces przebiegł poprawnie to będziemy mieli arduinowego blinka wgranego z poziomu AS7. Teraz ktoś mógł by powiedzieć ok ale ja chce pisać w sposób typowy dla AS a nie arduino. W tym celu postępujemy podobnie.

AS77.thumb.jpg.25c9eb21cb0cdb52c12b28b38d9f8676.jpg

file ---> new project , i opcja nr dwa. Następnie

AS78.thumb.jpg.5a99c31ddefbfc91d4d2f5fc1eb5b79d.jpg

Wybieramy atmegę 328P i zatwierdzamy.

AS79.thumb.jpg.541c2b3f99c8203e311d0a58d2ef312e.jpg

tutaj przykładowy projekt ala blink z makrami bitSet i bitClear zaczerpniętymi a Arduino IDE. Wgrywamy w identyczny sposób jak w poprzednim przykładzie czyli Build ---> build Solution , tools--> Arduino_via_bootloader.

W ten sposób mamy edytor ala mercedes ale bez opcji debuggowania. I na koniec jedna istotna uwaga. Część tego opisu można znaleść na YT (filmik trwa około 7min) ale nie jest to tak wyczerpująco opisane. Jeśli ktoś zauważy jakiś błąd to warto to zasygnalizować chociaż sprawdzałem kilka razy. Robiłem też test dla Arduino Uno.  Działa bez problemu aczkolwiek w mim wypadku Overriding Baud Rate wynosił 115200 .

 

 

 

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

A kiedy się już przywyknie do nowego środowiska można pójść o krok dalej (tj. w tym przypadku krok w tył), zrezygnować z frameworka arduino i zacząć korzystać z avr-libc co z kolei umożliwi bardziej wydajne wykorzystanie płytek. Znajomość libc daje spore możliwości optymalizacji projektu nawet kiedy się korzysta z frameworka bo można miksować rozwiązania dowolnie i przede wszystkim przestanie być potrzebny pamięciożerny bootloader arduino.. a to wszystko po to właśnie, żeby sobie na koniec uświadomić, że bez stm32 i tak daleko się nie zajedzie 😉 Ma to jednak taki sens, że po takim wstępie stm'em jeździ się zdecydowanie bardziej komfortowo niż gdyby złapać się za niego bez podstaw. Tak czy inaczej 8bit avr, szczególnie te tańsze, nadal są popularne i pewnie jeszcze długo będą więc wiedza nie zniknie tak szybko w lamusie a przyda się też do innych celów.

Tu przykład jak to się kiedyś robiło 😉  tester_tranzystorow_lcr-tr trochę fajnego softu, można go nawet kupić w skelpie modelarskim lub allegro za ok. 35 zł jak by ktoś był zainteresowany. (BTW można też wykasować wsad z atmegi i zrobić sobie z niego coś ala arduino z wyświetlaczem i GPIO na zifie..)

Udostępnij ten post


Link to post
Share on other sites
4 minuty temu, atMegaTona napisał:

A kiedy się już przywyknie do nowego środowiska można pójść o krok dalej (tj. w tym przypadku krok w tył), zrezygnować z frameworka arduino i zacząć korzystać z avr-libc

A kto Ci broni korzystania z avr-libc w Arduino IDE? Przecież możesz pisać normalnie w C...

Udostępnij ten post


Link to post
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!

Gość
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...