2013-08-30 3 views
19

그래서 최근에 나는 내 arduino를 가지고 놀았으며, arduino를 C++로 프로그래밍 할 수있는 방법이 있는지 궁금해하고있었습니다. 내가 해왔 던 것은 vim에서 C++/processing 언어를 사용하고 arduino에 컴파일하고 업로드하기 위해 makefile을 사용하여 프로그래밍하는 것이다. 하지만 제 목표는 클래스와 모든 훌륭한 C++ 기능 (또는 적어도 총액)을 사용하여 프로그래밍 할 수있게하는 것입니다. 결국 나는 원시 C로 프로그램하는 것을 좋아할 것입니다. 그리고 나는 단지 어떻게해야 하는지를 찾는 데 어려움을 겪고 있습니다. 누군가가 나를 올바른 방향으로 인도하거나 나를 도울 수 있다면 좋을 것입니다. 감사! ~ michaelC++로 arduino를 프로그래밍하는 방법

+0

thr Arduino **의 프로그래밍 언어는 ** C 또는 C++입니다. 언제든지 수업을 사용할 수 있습니다. –

답변

40

내 경험은 다음과 같습니다. Arduino, 센서, 모터, LED 및 블루투스를 사용하여 자폐아를위한 로봇 스마트 장난감을 만들고 있습니다. 필자는 C++을 사용하여 필요한 것을 정확히 수행하기 위해 자체 라이브러리를 작성했습니다. 하지만 Arduino IDE 컴파일러가 새로운 C++ 11 기능을 지원하지 않는 이전 버전이라는 것을 알았습니다.

그래서 나는 C++ 11 코드를 컴파일하고 내 Arduino에 업로드하는 방법을 찾아야했습니다. "꽤"기본적인 것으로 밝혀졌습니다. Makefile, acr-gcc 4.8 및 voilà가 필요했습니다! makefile 작업은 Sudar (https://github.com/sudar/Arduino-Makefile)에 의해 이루어졌으며 훌륭하게 작동합니다. 나는 그것을 내 프로젝트를 위해 일하도록 약간 사용자 정의해야했다.

여기 내 프로젝트 용으로 작성한 문서가 있습니다. 당신은 한번 봐봐, 너에게 유용 할거야. https://github.com/WeAreLeka/moti/blob/master/INSTALL.md

희망 하시겠습니까? 건배 :)

편집 2014년 8월 16일 : 나는 많은 친구와 다른 DEVS에서이 유사한 요청을 가지고 있기 때문에

, 나는 프레임 워크의 어떤 종류를 설정하기로 결정 Arduino 프로젝트를 빠르고 쉽게 시작하고 실행할 수 있습니다.

이것은 Bare Arduino Project

이 어떤 도움이 될 수있는 희망입니다! 내가 더 잘 만들 수있는 버그 나 물건을 발견하면 작성하고 문제를 제기하십시오. :)

+0

@Michaelslec 안녕하세요! 그것은 잠시였습니다. 나는 당신의 조언을 따라 왔고 지금 Vim을 배우고 있다고 말할 수있어서 기쁩니다. 때때로 스피드를 위해서 ST를 사용하고 있습니다. 그러나 Vim에 힘을 실어주고 있습니다. 정말 대단한 기분이 듭니다. – ladislas

+0

나는 너를 위해 너무 행복해!나는 실제로 Sublime Text 3로 꽤 오랜 시간 동안 전환했지만, 잠시 후 나는 vim 없이는 처리 할 수 ​​없었다. 원하는 경우 .vimrc 파일을 빌려 드리겠습니다. 나는 그것에 멋진 멋진 단축키 셋업을 가지고있다. 또한 Arduino 외부에서 C++ 프로그래밍을하는 경우 makefile을 몇 개 만들었습니다. 당신이 그들을보고 싶다면 그냥 오후! 빔 바위! – Michaelslec

+0

@Michaelslec 나는 내 대답을 당신이 좋아할만한 것으로 업데이트했다 : 당신이 그것에 대해 어떻게 생각하는지 말해라. 너의 일에 고마워, – ladislas

6

Arduino IDE가 지원하는 언어는 기본적으로 Arduino 프로그래머가 구현 한 몇 가지 추가 기능이있는 C++입니다. 또한 스케치에서 setuploop 루틴을 코드합니다 (고급 프로그래머가되면 결국 얻을 수있는 몇 가지 루틴이 있습니다).

스케치에서 라이브러리의 클래스를 정의하고 Arduino IDE를 사용하여 해당 라이브러리를 포함 할 수 있습니다. Arduino IDE는 Arduino의 프로세서 용 코드를 생성하는 Atmel 컴파일러를 구현합니다 (여러 모델이 있습니다). Arduino IDE 외부에서 작업 할 수도 있지만 (올바른 것처럼 들릴지도 모르지만) 올바른 Atmel 프로세서를 목표로하는 컴파일러가 필요합니다.

마지막으로 C++ 클래스가 커질 수 있으므로 소스가 프로세서에서 저장할 수있는 용량보다 더 많이 사용됩니다. 그래서, Arduino 수업은 스파 스하고 요점은!

먼저 Arduino IDE를 사용하고 스케치 (대부분 C++ 임)를 작성합니다. 그리고 여러분이 허용하는 경우 C 및/또는 C++로 자신의 라이브러리를 코딩 할 수 있습니다.

관련 문제