본문 바로가기

찐s/Raspberry Pi

[RPi] Lab.01-4: ISR

[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

 

 

 

[참조]

www.raspberrypi.org

'찐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