Jawaban:
Seperti disebutkan dalam artikel ini, dasar-dasar RPi.GPIO 3 - Cara Keluar dari program GPIO dengan bersih, hindari peringatan dan lindungi Pi Anda , perbaiki penggunaan GPIO.cleanup (),
Penggunaan GPIO.cleanup () yang benar
RPi.GPIO menyediakan fungsi bawaan GPIO.cleanup () untuk membersihkan semua port yang telah Anda gunakan. Tetapi sangat jelas apa yang dilakukannya. Ini hanya memengaruhi porta apa pun yang telah Anda tetapkan dalam program saat ini. Ini mengatur ulang port yang telah Anda gunakan dalam program ini kembali ke mode input. Ini mencegah kerusakan dari, katakanlah, situasi di mana Anda memiliki port yang mengatur HIGH sebagai output dan Anda secara tidak sengaja menghubungkannya ke GND (LOW), yang akan membuat hubungan pendek port dan mungkin menggorengnya. Input dapat menangani 0V (RENDAH) atau 3.3V (TINGGI), jadi lebih aman untuk meninggalkan port sebagai input.
Semoga ini menghilangkan keraguan Anda.
Anda tidak harus menggunakan metode pembersihan.
Sejauh yang saya tahu hanya modul Python RPi.GPIO dan RPIO.GPIO yang memiliki metode pembersihan. Metode pembersihan menetapkan semua gpi yang telah Anda gunakan sebagai input dan menonaktifkan pull-up / down internal untuk gpi tersebut.
Modul Python pigpio saya tidak memiliki metode pembersihan, begitu juga modul wiringPi2 Python sejauh yang saya ketahui.
Saya telah menemui beberapa masalah menggunakan GPIO, terutama yang berkaitan dengan mencoba mengubah mode dan pin arah yang telah ditetapkan pada sesi sebelumnya. Misalnya, kadang-kadang jika saya menjalankan program yang menetapkan pin ke output, dan kemudian saya menjalankan program yang mengatur pin yang sama untuk input tanpa memulai ulang pi, saya mendapatkan banyak peringatan (seperti "RunTimeWarning: Saluran ini sudah ada di menggunakan"). Ini khususnya bermasalah ketika memanggil berbagai fungsi terkait GPIO dari satu program, karena terkadang program macet.
Menggunakan perintah pembersihan baik sebelum atau setelah mengubah pengaturan GPIO menghilangkan peringatan dan memungkinkan kode untuk berjalan lancar tanpa peringatan pengaturan GPIO yang terjadi.
Cleanup()
fungsi. tampaknyaGPIO.cleanup()
tersedia karena fungsionalitas python menyimpan log perubahan untuk membersihkan perubahan tersebut. Lihat raspberrypi.stackexchange.com/questions/44807/…