답변:
이 기사에서 언급 한 것처럼 RPi.GPIO 기본 사항 3 – GPIO 프로그램을 깨끗하게 종료하고 경고를 피하고 Pi를 보호하는 방법 , 올바른 GPIO.cleanup () 사용,
GPIO.cleanup ()의 올바른 사용법
RPi.GPIO는 사용 된 모든 포트를 정리하는 내장 함수 GPIO.cleanup ()을 제공합니다. 그러나 이것이 무엇을하는지 분명히하십시오. 현재 프로그램에서 설정 한 포트에만 영향을줍니다. 이 프로그램에서 사용한 모든 포트를 입력 모드로 다시 설정합니다. 예를 들어, 포트를 HIGH로 설정하고 실수로 GND (LOW)에 연결하면 포트가 단락되어 튀길 수 있습니다. 입력은 0V (LOW) 또는 3.3V (HIGH)를 처리 할 수 있으므로 포트를 입력으로 유지하는 것이 더 안전합니다.
그것이 당신의 의심을 없애기를 바랍니다.
정리 방법을 사용할 필요가 없습니다.
내가 아는 한 RPi.GPIO 및 RPIO.GPIO Python 모듈 만 정리 방법이 있습니다. 정리 방법은 입력했던 모든 gpios를 설정하고 해당 gpios의 내부 풀업 / 다운을 비활성화합니다.
내 pigpio Python 모듈에는 정리 방법이 없으며 내가 알고있는 한 wirePi2 Python 모듈도 없습니다.
GPIO를 사용할 때 주로 이전 세션에서 이미 설정된 모드 및 핀 방향 변경과 관련하여 몇 가지 문제가 발생했습니다. 예를 들어, 핀을 출력으로 설정하는 프로그램을 실행 한 다음 pi를 다시 시작하지 않고 동일한 핀을 입력으로 설정하는 프로그램을 실행하면 "RunTimeWarning :이 채널은 이미 사용하다"). 때로는 프로그램이 충돌하기 때문에 단일 프로그램에서 다양한 GPIO 관련 기능을 호출 할 때 특히 문제가됩니다.
GPIO 설정 변경 전후에 정리 명령을 사용하면 경고가 제거되고 GPIO 설정 경고가 발생하지 않고 코드가 부드럽게 실행될 수 있습니다.
Cleanup()
기능 이 없습니다 .GPIO.cleanup()
파이썬 기능은 변경 사항을 정리하기 위해 변경 사항을 기록하기 때문에 사용할 수 있는 것으로 보입니다 . raspberrypi.stackexchange.com/questions/44807/…