回答:
この記事で説明したように、RPi.GPIOの基本3 – GPIOプログラムをきれいに終了し、警告を避けてPiを保護する方法、GPIO.cleanup()の正しい使用、
GPIO.cleanup()の正しい使用
RPi.GPIOは、使用したすべてのポートをクリーンアップする組み込み関数GPIO.cleanup()を提供します。しかし、これが何をするのかを非常に明確にしてください。現在のプログラムで設定したポートのみに影響します。このプログラムで使用したポートをリセットして入力モードに戻します。これにより、たとえば、ポートを出力としてHIGHに設定し、誤ってポートをGND(LOW)に接続して、ポートを短絡させ、場合によってはフライするような状況からの損傷を防ぎます。入力は0V(低)または3.3V(高)のいずれかを処理できるため、ポートを入力のままにしておく方が安全です。
それがあなたの疑念をクリアすることを願っています。
クリーンアップ方法を使用する必要はありません。
私が知る限り、RPi.GPIOおよびRPIO.GPIO Pythonモジュールのみがクリーンアップメソッドを持っています。cleanupメソッドは、入力に使用していたすべてのgpiosを設定し、それらのgpiosの内部プルアップ/ダウンを無効にします。
私のpigpio Pythonモジュールにはクリーンアップメソッドがありません。また、私が知っている限り、wiringPi2 Pythonモジュールもありません。
GPIOを使用して、主に前のセッションで既に設定されているモードとピンの方向を変更しようとすることに関連するいくつかの問題に遭遇しました。たとえば、ピンを出力に設定するプログラムを実行し、piを再起動せずに同じピンを入力に設定するプログラムを実行すると、多くの警告が表示されます(「RunTimeWarning:このチャネルは既に使用する")。これは、プログラムがクラッシュすることがあるため、単一のプログラムからさまざまなGPIO関連の関数を呼び出すときに特に問題になります。
GPIO設定を変更する前または後にクリーンアップコマンドを使用すると、警告がなくなり、GPIO設定の警告が発生することなくコードをスムーズに実行できます。
Cleanup()
機能がありません。GPIO.cleanup()
python機能は変更のログを保持してこれらの変更をクリーンアップするため、が利用可能であるようです。raspberrypi.stackexchange.com/questions/44807/…を