[기타] [타이젠] GPIO의 디지탈 출력과 입력 인터럽트의 C++ Class 제작

타이젠의 How to Create Basic Smart Light App 기본 예제에서 GPIO의 디지털 출력과 입력 인터럽트를 처리 로직이 c로 작성 되어 있어 사용의 편의성을 주기 위하여 c++ 작성 하여 공유 합니다.


10bd188d5baa8beb8255f1c216f56ab1.jpg


GPIO_Digital_Out Class는 GPIO에 디지탈 출력 시 사용되며, 사용 PIN 할당 후 = 연산자를 사용하여 값을 넣으면 해당 포트에 데이타 전송하도록 구현

#define SENSOR_LED_GPIO_NUMBER (24)


GPIO_Digital_Out GPIOLedOut( SENSOR_LED_GPIO_NUMBER );


static void motion_interrupted_cb(peripheral_gpio_h gpio, peripheral_error_e error, void *user_data)

{

GPIOLedOut = MotionIn.read();

}


GPIO_Digital_Interrrupt Class는 GPIO의 디지털 입력시 사용 되며 상단에 사용 PIN 할당 후 인터럽트를 처리할 Call Back함수를 정의 후 입력 신호의 rise,fall,both을 선택하여 Call Back함수를 등록하여 줌 

호출 되는 Call Back 함수의 파라미터 값들은 tizen에서 정의 되어 있어 형식을 맞출어여 됨

#define SENSOR_MOTION_GPIO_NUMBER (18)


GPIO_Digital_Interrrupt MotionIn(SENSOR_MOTION_GPIO_NUMBER);


static void motion_interrupted_cb(peripheral_gpio_h gpio, peripheral_error_e error, void *user_data)

{

GPIOLedOut = MotionIn.read();

}


void service_app_control(app_control_h app_control, void *data)
{
MotionIn.both(motion_interrupted_cb );
}







0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

임베디드 보드

번호 제목 글쓴이 날짜 조회수
32 아두이노 [강좌] 31. I2C 통신 (3) - 온도 센서(TMP102) 실습하기 icon 양재동메이커 03-20 28,162
31 아두이노 [강좌] 30. I2C 통신 (2) - Wire 함수 알아보기 icon 양재동메이커 03-20 32,472
30 아두이노 [강좌] 29. I2C 통신 (1) - I2C 통신이란 무엇인가 icon 양재동메이커 03-20 37,193
29 아두이노 [강좌] 28. 시간 관련 함수 (3) - MsTimer2 라이브러리 icon 양재동메이커 03-20 27,728
28 아두이노 [강좌] 27. 시간 관련 함수 (2) - BlinkWithoutDelay 예제 icon 양재동메이커 03-20 21,659
27 아두이노 [강좌] 26. 시간 관련 함수 (1) - delay() / millis() icon 양재동메이커 03-20 27,904
26 아두이노 [강좌] 25. tone()/noTone() 함수 (2) - 부저 실습 icon 양재동메이커 03-20 22,062
25 아두이노 [강좌] 24. tone()/noTone() 함수 (1) - 함수 설명 icon 양재동메이커 03-20 23,781
24 아두이노 [강좌] 23. Interrupt(인터럽트) (3) - 인터럽트 함수 알아보기 icon 양재동메이커 03-20 23,824
23 아두이노 [아두이노 강좌] 22. Interrupt(인터럽트) (2) - 스위치로 LED 켜고 끄기 예제 icon 양재동메이커 03-20 29,774
22 아두이노 [강좌] 21. Interrupt(인터럽트) (1) - 인터럽트란 무엇인가 icon 양재동메이커 03-16 21,986
21 아두이노 [아두이노 강좌] 20. String (3) - 유용한 함수들 icon 양재동메이커 03-16 29,504
20 아두이노 [강좌] 19. String (2) - String() 생성자와 + 연산 icon 양재동메이커 03-16 20,062
19 아두이노 [강좌] 18. String (1) - 문자형(char) 배열과 String icon 양재동메이커 03-16 29,346
18 아두이노 [강좌] 17. Serial 통신(3) - 유용한 기능들 icon 양재동메이커 03-15 23,680
17 아두이노 [강좌] 16. Serial 통신(2) - 시리얼 통신 함수 알아보기 icon 양재동메이커 03-15 30,300
16 아두이노 [강좌] 15. Serial 통신(1) - 시리얼 통신이란 무엇인가 icon 양재동메이커 03-15 26,627
15 아두이노 [강좌] 14. analogRead()/analogWrite() 실습 - 조도 센서 + LED icon 양재동메이커 03-15 19,536
14 아두이노 [강좌] 13. analogWrite() 실습 - LED 밝기 조절하기(Fade 예제) icon 양재동메이커 03-15 19,920
13 아두이노 [강좌] 12. 아날로그 기능(2) - analogWrite() 함수 icon 양재동메이커 03-14 22,466