2013-08-30 7 views
19

Tak więc ostatnio bawiłem się z moim arduino i zastanawiałem się, czy jest jakiś sposób na zaprogramowanie arduino w C++. To, co robiłem, to programowanie za pomocą języka C++/processing w vimie i używanie makefile do kompilowania i wysyłania do Arduino. Ale moim celem jest móc korzystać z klas i wszystkich wspaniałych funkcji C++ (lub przynajmniej sumy), aby go zaprogramować. W końcu chciałbym nawet zaprogramować go w stanie surowym c i po prostu mam problem ze znalezieniem sposobu, aby to zrobić. Byłoby wspaniale, gdyby ktoś wskazał mi właściwy kierunek lub pomógł mi. Dzięki! ~ michaelJak programować arduino z C++

+0

Językiem programowania thr Arduino ** jest ** C lub C++. Możesz używać klas, kiedy chcesz. –

Odpowiedz

40

Oto moje doświadczenie: Buduję robotyczną inteligentną zabawkę dla autystycznych dzieci korzystających z Arduino, czujników, silników, diod LED i bluetooth. Napisałem własne biblioteki, aby zrobić dokładnie to, czego potrzebowałem używając C++. Ale dowiedziałem się, że Arduino IDE Compiler jest starszą wersją, która nie obsługuje nowych funkcji C++ 11.

Musiałem więc znaleźć sposób na skompilowanie kodu C++ 11 i przesłanie go do mojego Arduino. Okazuje się, że jest "całkiem" podstawowa: potrzebowałem Makefile, acr-gcc 4.8 i voilà! Plik Makefile jest wykonywany przez Sudar (https://github.com/sudar/Arduino-Makefile) i działa świetnie. Musiałem go trochę dostosować, aby działało to w moim projekcie.

Oto niektóre dokumenty, które napisałem dla mojego projektu. Powinieneś rzucić okiem, może ci się przydać. https://github.com/WeAreLeka/moti/blob/master/INSTALL.md

Mam nadzieję, że pomoże! Cheers :)

EDIT 16.08.2014:

Ponieważ mam dużo zażąda podobne do tego z przyjaciółmi i innych deweloperów, postanowiłem założyć jakąś ramach do przygotuj się do pracy z projektami Arduino szybko i łatwo.

To Bare Arduino Project

Nadzieja może być żadnej pomocy! Jeśli znajdziesz błędy lub inne rzeczy, które mogę poprawić, możesz je wypełnić i opublikować. :)

+0

@Michaelslec cześć! Minęło trochę czasu i cieszę się, mogąc powiedzieć, że poszedłem za twoją radą i teraz uczę się Vima :) Nadal używam trochę ST do prędkości, ale czasami zmuszam się do Vima, ponieważ to jest niesamowite! – ladislas

+0

Jestem bardzo szczęśliwy z twojego powodu!Właściwie przełączyłem się na Sublime Text 3 na jakiś czas, ale po jakimś czasie nie mogłem sobie poradzić bez vima. Jeśli chcesz, chętnie udzielę ci mojego pliku .vimrc. Mam w nim dość fajne konfiguracje skrótów. Ponadto, jeśli programujesz w C++ poza Arduino, zrobiłem kilka plików Makefile. Po prostu po południu, jeśli chcesz je zobaczyć! Vim rocks! – Michaelslec

+0

@Michaelslec Zaktualizowałem swoją odpowiedź czymś, co może Ci się spodobać :) powiedz mi, co o tym sądzisz! – ladislas

6

Język obsługiwany przez Arduino IDE to w zasadzie C++ z dodatkowymi funkcjami zaimplementowanymi przez programistów Arduino. Również w szkicu kodowane są właśnie procedury setup i loop (jest kilka innych, do których ostatecznie dojdziecie, gdy staniecie się bardziej zaawansowanymi programistami).

W szkicu można zdefiniować klasy w bibliotece i dołączyć tę bibliotekę za pomocą Arduino IDE. Arduino IDE implementuje kompilator Atmel, który tworzy kod dla procesora Arduino (istnieje kilka modeli). Możesz pracować poza Arduino IDE (brzmi jak ty), ale wciąż musisz mieć kompilator, który jest skierowany do właściwego procesora Atmel.

Wreszcie, klasy C++ mogą stać się duże, więc w pewnym momencie źródło przerośnie to, co procesor może przechowywać. Tak więc klasy Arduino są rzadkie i na temat!

Na początek użyłbym Arduino IDE i piszę szkice (które w większości są C++). A jeśli pozwala na to okazja, możesz kodować własne biblioteki w C i/lub C++.