반응형

[Intel Edison Breakout Board에서 C++로 LED Blink 하기 관련 컨텐츠]

Intel Edison Breakout Board 핀배열 및 MRAA 라이브러리 매핑 (납땜, 핀배열)

Intel Edison Breakout Board 에서 C++ 로 LED Blink 하기 1 (소프트웨어 구성 편)

Intel Edison Breakout Board 에서 C++ 로 LED Blink 하기 2 (하드웨어 연결 편)


C++ 개발 환경은 intel에서 eclipse 통합된 환경으로 제공한다. https://software.intel.com/en-us/installing-drivers-for-intel-edison-board-with-windows 사이트에서 "Windows 64-bit integrated installer"를 선택하고 다음의 화면에서 eclipse를 체크하주면 된다.


Eclipse를 실행하면 다음의 화면이 나오는데 Create C/C++ IoT Project를 선택한다.


On board LED blink C++ 를 선택하고 project 이름을 설정한다. 그리고 Search Target를 클릭한다.


Edison이 정상 설치되고 IP가 설정되었으면 다음과 같은 화면이 보이게 된다. 보이는 Board를 선택하면 된다.



다음과 같은 화면이 보인다.


다음은 소스코드와 그 설명이다.


1. mraa.hpp 는 다음을 include한다.

2. mraa_get_platform_type()은 Board 유형을 리턴한다. mraa_platform_t 를 리턴하는데 mraa_platform_t는 다음의 enum 유형이다. mraa library가 지원하는 보드를 알수 있다. 


3. mraa::Gpio의 Public Member Function은 다음과 같다.

Gpio 생성자는 사용할 pin 번호와, Owner, Raw를 파라미터로 받으며 owner, raw는 optional한 인자이다. owner가 true일 경우에 해당 객체가 파괴될때 포트를 닫는다. owner가 false이면 해당 객체가 파괴된다 하더라도 포트는 열린 상태로 남겨진다. raw는 kernel 모듈의 gpiolibs pin 번호를 이용한다는 의미이다.


dir 멤버 함수는 direction 을 변화 시킨다. Dir 구조체는 DIR_OUT, DIR_IN, DIR_OUT_HIGH, DIR_OUT_LOW 로 지정할수 있다.


write 멤버 함수는 GPIO에 값을 출력한다. 


반응형
Posted by alias
,