Arduino IDE 외부에서 C 프로그램을 작성하고 있습니까?


12

나는 간단한 프로젝트와 Arduino를 시작하기 위해 Arduino IDE를 사용한다는 아이디어를 좋아하지만, 지금까지 얻은 합의 는 Arduino를 처음 접하거나 프로그래밍에 익숙한 사람들을위한 것입니다.

이해 는 Arduino IDE 외부에서 C 프로그램을 처음부터 작성 한 다음 AVRDUDE와 같은 도구를 사용하여 Arduino MCU에 업로드 할 수 있다는 것입니다. 이 옵션은 흥미롭고 흥미롭지 만 몇 가지 우려 사항이 있습니다.

  • 그러한 "raw C"프로그램으로 어떤 Arduino 라이브러리를 가져 오거나 연결해야합니까? 나는 아두 이노 IDE 기반 프로그램이 실행될 때 가정 digitalWrite(...)이되어 실제로 는 C lib 디렉토리를 호출을, 아마 후드, 아두 이노에 의해 제공. 이 "기본 라이브러리"가 모두 C 프로그램에 포함되도록하는 것이 걱정됩니다. 생각?
  • 솔로로 비행하고 Arduino IDE 외부로 환기 시켜서 "잃어버린"것이 있습니까? 이제 "내 자신의 롤"을 수행해야 할 기능 / 기능이 있습니까?

arduino.stackexchange.com/questions/9538/… 내 질문에 대한 답변은 그것을 설정하는 데 도움이되었습니다. arduino에서 무엇이든 교체하거나 떠날 수 있습니다. 당신은 할 수 있습니다 :-자신의 보드를 확인하십시오. -자신의 IDE를 사용하십시오. -자신의 라이브러리를 사용하십시오.
Paul

답변:


4

Arduino가 실제로 백그라운드에서 작동하는 두 가지 멋진 기사가 있습니다. 마이크로 컨트롤러 프로그래밍에서 마찰을 제거하는 방법.

  1. Arduino 내부 둘러보기 : Hello World는 실제로 어떻게 작동합니까?
  2. Arduino와 GCC, makefile 만 사용하여 프로그램 컴파일 및 업로드

또한 여기에서 논의 된 C 코드에 아두 이노 코드를 변환하는 방법 또는 자습서가 있습니까?


감사합니다 @Michal Foksa (+1)-이것에 대한 대답이 더 잘 알려져 있지 않다는 것에 충격을 받았습니다! 나는 아두 이노 IDE가 말하는 것으로 생각했을 것 lib/같은 일이 있었다의 설치 루트 아래의 디렉토리 어딘가에 arduino-core.dll, arduino-io.dll
smeeb을

@smeeb : 맞습니다. Arduino IDE 설치에는 기본 런타임 기능 라이브러리와 사용자 제공 기능이 포함되어 있습니다. 링크 2의 페이지 중간에있는 메이크 파일에서 LIBS 기호가이를 가리 킵니다. .dll이 아닙니다 (Windows에서는 런타임에 호출 됨). 그것들은 컴파일 된 객체 파일과 .hex로드 파일로 정적으로 링크 된 객체 파일 (UNIX 계열 시스템의 경우 .o, 아마도 Windows의 경우와 동일)입니다.이 파일은 완전한 로더 이미지입니다. ...
JRobert

... 생계를 위해 프로그램을 작성하는 사람들에게 잘 알려져 있지만 Arduino (브랜드) 도구 디자이너는 전문가 수준이 될 필요없이 사람들이 디지털 전자 제품을 사용할 수 있도록하기 위해 가능한 많은 지저분한 세부 사항을 의도적으로 숨겼습니다. 프로그래머와 엔지니어가 할 수 있습니다. Arduino 커뮤니티에서이 정보를 찾기가 어려울 정도로 성공했습니다!
JRobert

불행히도 레거시 이유로 인해 표준 허용 방식과는 완전히 다른 Arduino 소프트웨어를 빌드합니다. 간단하게하기 위해 '마찰을 제거하는 것'에서 그들은 서로 호환되지 않는 거대한 공동체를 만들었습니다. 모든 IDE 'plugin'은 표준이 아닌 것을 거의 표준 방식으로 작동시키려는 시도입니다. 문제가 생길 때 명심하십시오.

5

다른 라이브러리와 연결해야하는 것은 옳습니다. 그러나 비정상적인 일을 원하거나 필요로하지 않는 한 모든 세부 사항에 대해 걱정할 필요는 없습니다. 여러 대체 IDE가 이미 많은 세부 사항을 자동으로 처리하는 플러그인을 통해 Arduino를 지원합니다.

필자는 일반적으로 Eclipse를 다양한 용도로 널리 사용되는 IDE이므로 권장합니다. 그러나 몇 가지 다른 가능성이 있습니다. 자세한 내용은이 질문을 참조하십시오.


감사합니다 @Peter R. Bloomfield (+1)-비 IDE 중심의 답변을 찾고 있습니다. 내가 IDE에 대해 아무것도 가지고있는 것이 아니라, Arduino의 "라이브러리 환경"을 이해하기 위해 IDE가 불필요한 중개인 인 것 같습니다. 모든 Arduino 앱이 연결해야하는 1 개 이상의 "코어 라이브러리"가 있다고 가정하고 실제로 앱의 기능에 따라 필요하거나 필요하지 않은 선택적 라이브러리가 있다고 가정합니다. 이 "핵심 라이브러리"와 다른 선택적 라이브러리 목록을 알려주시겠습니까? 다시 감사합니다!
smeeb

그리고는 "불필요한 중간"내가이되는 십오 일에 대해 위 한 말 자격을 정말 의미하는 것은 : 내가의 C 응용 프로그램의 외부 쓸 수 있어야 어떤 (아두 이노, 이클립스, 또는 기타), 아두 이노 libs와 링크 IDE를 그 내 앱이 필요하지만 여전히 앱을 Arduino 하드웨어에 컴파일 / 배포합니다. 그 라이브러리가 무엇인지, 어디서 라이브러리를 찾을 수 있는지 궁금합니다.
smeeb

@smeeb Arduino가 초보자를 대상으로한다는 점을 감안할 때 공식 문서가 많지 않다고 생각합니다. Arduino makefile의 예를 온라인에서 검색하는 것이 가장 좋은 방법이라고 생각합니다. 이 페이지 하단 근처에 몇 가지 예가 있습니다.
피터 블룸필드

@smeeb : 당신처럼, 나는 IDE의 팬이 아닙니다. 웹에 떠 다니는 몇 가지 일반적인 Arduino makefile이 있습니다. 당신은 기본적으로 다음 libore.a에 아두 이노 핵심 라이브러리를 컴파일하여 .ino 파일을 컴파일해야 -x c++ -include Arduino.h컴파일러가 (플러스의 무리 이해하기 -D, -I등) libcore.a와 링크를.
Edgar Bonet

0

예, Arduino IDE 외부에서 프로그램을 작성할 수 있습니다. 예를 들어 AVR 플러그인으로 Eclipse IDE를 사용해 보았고 이제 AVR Studio를 고수합니다. 물론 Arduino IDE 및 일부 라이브러리에서 작성할 때 일반적으로 사용할 수있는 기능이 없습니다. 그러나 왜 구현을 시도하지 않습니까? 자신이 배우고 쓸 수있을 때 다른 사람이 만든 함수와 라이브러리로 자신을 제한해야하는 이유는 기존의 것보다 낫습니다.


-3

ESP8266 + Arduino IDE 1.6.4 Portable-전체 빠른 설치 안내서 www.instructables.com /.../ ESP8266-Arduino-IDE-164-Portable-F ...

ESP8266 확장명, 스케치, 설치된 라이브러리 등을 포함한 모든 Arduino IDE v 1.6.4 파일은 새로 생성 된 "arduino-1.6.4"폴더 아래에만 있어야합니다.


이것은 매우 유용한 답변이 아닙니다. 링크는 실제 링크가 아닙니다. 그리고 그것이 되었더라도 링크 교환 사이트가 다운 될 수 있기 때문에 Stack Exchange는 링크 전용 답변에 눈살을 찌푸립니다. 답을 넓히십시오.
Nick Gammon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.