반응형
라즈베리파이 GPIO 인터럽트 사용 Python 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #!/usr/bin/env python import RPi.GPIO as GPIO #GPIO 라이브러리 버젼을 출력한다 print GPIO.VERSION #핀 넘버링을 BCM 방식을 사용한다. GPIO.setmode(GPIO.BCM) #4번 핀을 입력모드로 설정 GPIO.setup(4, GPIO.IN) globalCounter = 0 #인터럽트 함수가 호출되면 글로벌 변수 globalCounter 값을 1 증가시킨다. def myInterrupt(channel): global globalCounter globalCounter += 1 print " Done. counter:" , globalCounter #4번 핀이 OFF될 때 myInterrupt 함수를 통해 인터럽트를 받겠다는 요청 #GPIO.FALLING은 ON 상태에서 OFF로 변경될 때 시그널을 받겠다는 의미 GPIO.add_event_detect(4, GPIO.FALLING, callback=myInterrupt) try: raw_input("Press Enter to Exit\n>") except KeyboardInterrupt: GPIO.cleanup() # clean up GPIO on CTRL+C exit GPIO.remove_event_detect(4) GPIO.remove_event_detect(4) GPIO.cleanup() # clean up GPIO on normal exit |
이미지 출처와 참고로 읽어보면 좋은 링크: Interrupt-driven I/O on Raspberry Pi 3 with LEDs and pushbuttons: rising/falling edge-detection using RPi.GPIO
반응형
'라즈베리파이' 카테고리의 다른 글
라즈베리파이 2대를 사용한 UART 채팅 프로그램 C, Python 사용 (0) | 2019.03.22 |
---|---|
라즈베리파이 UART loopback 테스트 - C, Python 구현 (0) | 2019.03.22 |
라즈베리파이 GPIO 인터럽트 사용 C 예제 (0) | 2019.03.22 |
Python 프로그램, Python 스크립트 첫 라인 의미 (0) | 2019.03.22 |
라즈베리파이 GPIO 입력 테스트 파이선 코드 (0) | 2019.03.22 |