처음 Arduino 라이브러리
개요
Arduino 라이브러리 자체 제작
소개
Arduino IDE로 개발하고 있습니다만, 소스 파일 하나라면, 코드량이 늘어나면 힘듭니다.
그래서 잘 생긴 자랑 함수는 라이브러리로 잘라서 재사용합시다.
도서관 사용
라이브러리를 만들기 전에 먼저 유명한 라이브러리를 사용하는 것으로 시작합시다.
여기에서는 Time 라이브러리 를 예로 합니다.
$ git clone https://github.com/PaulStoffregen/Time.git
(이 때의 디렉토리명이, 임포트시의 라이브러리명이 됩니다.)
$ zip -r Time.zip Time
(스케치 - 라이브러리 포함 - .zip 형식 라이브러리 설치)
이제 사용할 수 있게 되었습니다.
(스케치-라이브러리 포함-Time)
now();
와 같은 함수를 사용할 수 있습니다.(헤더 파일을 포함하는 것만으로 (링크하지 않고) 사용할 수있는 것은 위화감이 있지만 IDE 측에서 편리하게 해주고 있다고 생각합니다)
도서관 만들기
그럼 실제로 만들어 봅시다.
라이브러리에는
.h
(헤더 파일) 및 .cpp
(소스 파일)이 필요합니다.이 예에서는
NTP.h
와 NTP.cpp
를 추가합니다.#ifndef _NTP_h
#define _NTP_h
int ntpdate();
#endif
#include "NTP.h"
int ntpdate()
{
return 0;
}
include
는 NTP.h
가 소스 파일과 동일한 디렉토리에 있으면 ""
로 묶습니다.(소스 파일로부터의 상대를 의미한다.)
#include "NTP.h" // " " で囲む
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
ntpdate();
}
NTP.h
와 NTP.cpp
를 새 디렉토리를 만들고 거기로 이동합니다. 그 디렉토리마다 zip 하고 임포트 하면, 라이브러리로서 「사용」할 수 있게 됩니다. include
는 <>
로 둘러싸도록 합니다. #include <NTP.h> // < > で囲む
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
ntpdate();
}
도서관은 어디에 있습니까?
Mac의 경우
설치된 라이브러리는 다음과 같습니다.
(실제로 여기에 직접 디렉토리를 복사 할 수 있습니다)
~/Documents/Arduino/libraries/
그건 그렇고, 시스템에서 사용할 수있는 라이브러리는 다음과 같습니다.
/Applications/Arduino 2.app/Contents/Java/libraries/
요약
Arduino 라이브러리를 직접 만들었습니다.
파일을 분할하면 깔끔하고 전망이 쉬워집니다.
현재 예에서 나온 NTP(시간 동기화) 라이브러리를 예의 작성 중입니다. 잘 할 수 있으면 공개하고 싶습니다.
오, 그거 틀림없어! 라고 개소는, 꼭 가르쳐 주세요!
Reference
이 문제에 관하여(처음 Arduino 라이브러리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/exabugs/items/fe46ec45ff2ffd6c5777텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)