CLion + Arduino

16

Proszę o pomoc w konfiguracji Clion + Arduino.

Clion ma plugin Arduino, który zainstalowałem. Oto kilka instrukcji na temat Github, ale jestem w pełni noob cmakei inne rzeczy, które mówią w instrukcji. Użyłem tylko Arduino IDE do moich prostych projektów. Teraz w CLion mogę tworzyć projekty Arduino, ale autouzupełnianie nie działa. Właściwie to działa, ale działa na prawdziwym C, nie dla kodu Arduino.

Więc jeśli możesz wyjaśnić jak kompletny idiota, co powinienem zmienić, aby uruchomić działające automatyczne uzupełnianie Arduino.

Kwach
źródło
Co rozumiesz przez automatyczne uzupełnianie Arduino?
Avamander
2
spójrz tutaj
Kvach
Nie może automatycznie uzupełniać tego, o czym nie wie. Czy poprawnie zainstalowałeś wszystkie biblioteki zgodnie z wymaganiami wtyczki? (Spróbuj skompilować przykład Blink dołączony do Arduino IDE, czy masz jakieś błędy?)
Avamander
Jeśli wyjaśnisz, jak to zrobić, zrobię to.
Kvach

Odpowiedzi:

22

Zamiast używać jakiejkolwiek wtyczki, używam CLion z PlatformIO , który obsługuje kilka IDE. CLion zapewnia zatem nie tylko uzupełnianie kodu, ale także pełną obsługę refaktoryzacji, Git i wiele więcej.

Z jego dokumentacji :

[...] wygeneruj projekt za pomocą platformio init --idepolecenia:

platformio init --ide clion --board %TYPE%

# For example, generate project for Arduino UNO
platformio init --ide clion --board uno

Następnie zaimportuj projekt do CLion i gotowe.

Kilka wskazówek:

  • Upewnij się, że kod znajduje się w srcfolderze i dołącz główny plik do wygenerowanego CMakeLists.txt. To musi mieć .cpprozszerzenie, takie jak:

    add_executable(projectname src/main.cpp)
    
  • W przypadku innych plików: zmień nazwę wszystkich .inoużywanych plików .cpplub powiedz CLionowi, aby skojarzyło .inorozszerzenie z plikami C ++. (Preferencje, edytory, typy plików).

  • Za każdym razem, gdy dodajesz biblioteki do libfolderu (i używasz #includedo ich odwoływania), po prostu ponownie uruchom powyższe initpolecenie.
  • Jeśli używasz płyt ESP i zmieniłeś się platform.txtna alternatywny esptool, zwróć uwagę, że PlatformIO wymaga innego włamania .
  • Zamiast używać wtyczki CLion Serial Monitor, po prostu używam terminala w CLion, aby jak najszybciej załadować i uruchomić monitor:

    pio run -t upload; pio serialports monitor -b 115200
    
Arjan
źródło
dziękuję za twoją pouczającą odpowiedź. bardzo mi pomogło. tylko jedno: czy mógłbyś bardziej szczegółowo rozwinąć ostatni punkt kuli? jak otwierasz niestandardowe terminale? czy to polecenie działa na wszystkich platformach, czy tylko w systemie Linux? z góry dziękuję
Neuron
1
@Neuron, w CLion na komputerze Mac to menu Widok, Narzędzie Windows, Terminal. (Na komputerze Mac wbudowana powłoka bash nazywa się również Terminalem.) Ale nie ma żadnej różnicy w korzystaniu z samodzielnego okna terminala, z wyjątkiem posiadania wszystkiego w jednym miejscu i wygodnego domyślnego ustawienia folderu projektu. Co do piopolecenia: użyłem go tylko na komputerze Mac i jest dokładnie taki sam jak platformio. (Oba są instalowane podczas instalacji PlatformIO.)
Arjan
1
Okey, jest platformio device monitorteraz
invis
1
@invis, czy trzeci punkt nie działa dla ciebie?
Arjan
1
@Arjan hmm, właściwie pio initz argumetami pomaga. Mój libkatalog jest pusty, dlatego byłem zdezorientowany. piododaje zależności do własnego katalogu o nazwie.pio/libdeps
invis
9

Wiem, że o to pytano dawno temu, ale może przyda się komuś. Jestem początkującym w tych sprawach, więc jeśli ktoś zna lepszy sposób, popraw to. oto jak skonfigurowałem CLion dla Arduino (na Windows 10):

CLion 2016.1.3 + Arduino 1.6.9 + wtyczka

  1. Pobierz i zainstaluj oficjalne Arduino IDE (1.6.9).

  2. Pobierz i zainstaluj MinGW na „C: \ MinGW”

  3. W MinGW zainstaluj: „mingw32-base” i „mingw32-gcc-g ++”

  4. Pobierz i zainstaluj CLion .

  5. Utwórz projekt „bez tytułu”, aby otworzyć CLion.

  6. W CLion> Ustawienia> Wtyczki> Przeglądaj repozytoria> Wyszukaj i zainstaluj: „Arduino” (integracja narzędzi) i „Monitor szeregowy” (misc).

  7. W CLion> Ustawienia> Szukaj> wpisz „MinGW”

  8. W środowisku wybierz „Użyj MinGW home” i przejdź do folderu MinGW („C: \ MinGW”). Naciśnij Zastosuj i poczekaj, aż CLion znajdzie środowisko.

  9. W Plik> Zamknij projekt.

  10. Otwórz dowolny menedżer plików i przejdź do „c: \ Users \ name \ ClionProjects \” i usuń właśnie utworzony projekt „bez tytułu”.

  11. Otwórz CLion, wybierz „Nowy projekt szkicu Arduino”

  12. W katalogu projektu> 'otwórz cmakelists.txt' i skonfiguruj linie:

    6: set board version
    7: set port (you can find out port# from the Arduino IDE)
    8: set the path where you installed your Arduino libraries (Arduino sketch folder)
    
    set(${CMAKE_PROJECT_NAME}_BOARD uno)
    set(${CMAKE_PROJECT_NAME}_PORT COM3)
    LINK_DIRECTORIES(c:\\ARDUINO\\libraries)
    
  13. W prawym górnym rogu CLion, w pobliżu zielonego przycisku „Odtwórz”, wybierz „Edytuj konfigurację”, po lewej wybierz „Aplikacja”> „Prześlij” i ustaw:

    -target: 'upload'
    -configuration: 'debug'
    -executable: the project name
    

    następnie naciśnij ok.

  14. W pliku .ino projektu napisz naprawdę prosty kod (mrugnij).

  15. Podłącz Arduino Uno przez USB i naciśnij zielony przycisk „play”, aby załadować szkic.

  16. Aby uruchomić monitor szeregowy:

    • W głównym oknie CLion w lewym dolnym rogu kliknij kartę monitora szeregowego (w „przyciskach narzędzi”)
    • Kliknij ikonę klucza, aby ustawić prędkość portu i prędkość transmisji.
    • U góry ikony klucza kliknij niebieską ikonę „połącz”.
    • Jeśli wartości nie są wyświetlane „poprawnie”, kliknij białą ikonę „przełącz na hex” (po prawej stronie klucza).
    • Przed przesłaniem szkicu odłącz monitor szeregowy.
  17. Aby CLion mógł poprawnie znaleźć biblioteki, upewnij się, że używasz tej samej nazwy dla folderu lib, co dla pliku „.h”. przykład: dla DallasTemperature.h użyj nazwy folderu DallasTemperature. Po # wprowadzeniu nowych bibliotek, kliknij prawym przyciskiem myszy „Folder bibliotek zewnętrznych” i wybierz „Przeładuj projekt cmake”.

  18. Możesz dokonać dalszej konfiguracji w ustawieniach CLion, takich jak: motyw, kolory, rozmiar tekstu itp.

  19. Ponadto, można skonfigurować kilka przydatnych szablonów „na żywo”, jak: serialprintln, digitalwrite, pinmode, switch, itd. W celu zwiększenia produktywności.

Wanek T.
źródło
1
Używa s very nice tutorial dude, thx very much but unfortunately Ilinuksa. (Zamiast mingw co powinienem zainstalować?
Kvach
przepraszam, nie używam Linuksa, nie mam pojęcia o tym.
Wanek T
@Kvach trzeba będzie zainstalować cmake, gcc, git.
zoonman
Dziękuję Ci! Jest to najlepszy sposób, aby to zrobić dla systemu Windows
zadzwonił