[RPi] Lab.01-3: GPIO 실습에 이어 라즈베리파이의 ISR (Interrupt Service Routine) 인터럽트 제어를 실습한다.
[GPIO test]
[RPi]
[gpio_isr.py]
#####gpio_isr.py-----------------------------#####
import RPi.GPIO as gpio
from time import sleep
#####----------------------------------------#####
def btIsr(n):
print('Button Interrupt: GPIO[%d]' % n)
#####----------------------------------------#####
gpio4 = 23
gpio5 = 24
gpio.setmode(gpio.BCM)
gpio.setup(gpio4, gpio.IN)
gpio.setup(gpio5, gpio.OUT)
gpio.add_event_detect(gpio4, gpio.FALLING, callback=btIsr)
#####----------------------------------------#####
t = 0
try:
while True:
print('sec: %d' % t)
t = t + 1
sleep(1)
except KeyboardInterrupt:
gpio.cleanup()
[Test Result]
회로를 구성하고 터미널 gpio_isr.py 를 실행하고 DE2-115 보드 푸쉬 버튼을 누르면 ISR 이 수행됨을 됨을 알수 있다.
$ python3 gpio_isr.py
[참조]
'찐s > Raspberry Pi' 카테고리의 다른 글
[RPi] Lab.02-2: UART (RPi 4B) (0) | 2020.11.22 |
---|---|
[RPi] Lab.02-1: UART (RPi 3B) (0) | 2020.11.21 |
[RPi] Lab.01-3: GPIO (0) | 2020.11.08 |
[RPi] Lab.01-2: GPIO (0) | 2020.11.07 |