ARM_core 기반 리눅스 BSP 개발/Raspberry_PI Kernel build

[Raspberry_PI]_LED_BLINK

juniha 2025. 6. 17. 19:06

진행 과정

사용 코드

 

1
2
3
4
5
6
7
8
9
10
11
from RPi import GPIO       # RPi.GPIO 라이브러리 가져오기 (GPIO 제어용)
import time                # time.sleep() 사용을 위해 time 모듈 가져오기
 
GPIO.setmode(GPIO.BCM)     # GPIO 핀 번호를 BCM 모드로 설정
GPIO.setup(3, GPIO.OUT)    # GPIO 3번 핀을 출력 모드로 설정
 
while True:                # 무한 루프
    GPIO.output(3, GPIO.HIGH)  # GPIO 3번 핀에 HIGH (3.3V 출력)
    time.sleep(1)              # 1초 대기
    GPIO.output(3, GPIO.LOW)   # GPIO 3번 핀에 LOW (0V 출력)
    time.sleep(1)              # 1초 대기
cs

 

작성 후 
ctrl o → enter → ctrl x 입력

 

다음 진행되는 명령 프롬프트를 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
python -m led_blink.py &
pi@pi:~/python $ python -m led_blink.py
 
^CTraceback (most recent call last):
  File "<frozen runpy>", line 189in _run_module_as_main
  File "<frozen runpy>", line 112in _get_module_details
  File "/home/pi/python/led_blink.py", line 11in <module>
    time.sleep(1)
KeyboardInterrupt
 
pi@pi:~/python $ python -m led_blink.py &
[11404
pi@pi:~/python $ kill 1404
cs

 

python -m led_blink.py & : led_blink.py
- 스크립트를 백그라운드에서 실행되고, 터미널을 점유하지 않고 LED 블링크 프로그램이 계속 실행된다.

 

pi@pi:~/python $ python -m led_blink.py

- led_blink.py 스크립트를 포그라운드(터미널을 점유)에서 실행되며, 프로그램이 실행되며 LED 깜빡임 동작 수행한다.

 

KeyboardInterrupt

- 사용자에 의한 인터럽트(Ctrl+C)가 감지되어 프로그램이 강제 종료된다.

 


pi@pi:~/python $ python -m led_blink.py &

- led_blink.py를 다시 백그라운드에서 실행된다.

 

[1] 1404 

- [job 번호] PID (프로세스 ID)가 출력된, 여기서는 PID=1404

 

pi@pi:~/python $ kill 1404

 - PID 1404인 led_blink.py 백그라운드 프로세스를 종료되고, 해당 프로세스에서 수행 중이던 LED 블링크 동작도 중단된다.

 

구현 사진

 

동작 영상