Réponses:
Comme mentionné dans cet article Notions de base de RPi.GPIO 3 - Comment quitter les programmes GPIO proprement, éviter les avertissements et protéger votre Pi , utiliser correctement GPIO.cleanup (),
Utilisation correcte de GPIO.cleanup ()
RPi.GPIO fournit une fonction intégrée GPIO.cleanup () pour nettoyer tous les ports que vous avez utilisés. Mais soyez très clair sur ce que cela fait. Il n'affecte que les ports que vous avez définis dans le programme actuel. Il réinitialise tous les ports que vous avez utilisés dans ce programme en mode d'entrée. Cela empêche les dommages causés, par exemple, par une situation où vous avez défini un port HAUT comme sortie et que vous le connectez accidentellement à GND (LOW), ce qui court-circuiterait le port et le ferait frire. Les entrées peuvent gérer 0V (LOW) ou 3,3V (HIGH), il est donc plus sûr de laisser les ports comme entrées.
J'espère que cela efface votre doute.
Vous n'avez pas besoin d'utiliser la méthode de nettoyage.
Pour autant que je sache, seuls les modules RPi.GPIO et RPIO.GPIO Python ont une méthode de nettoyage. La méthode de nettoyage définit tous les gpios que vous avez utilisés comme entrées et désactive les tractions / descentes internes pour ces gpios.
Mon module pigpio Python n'a pas de méthode de nettoyage, ni le module de câblage Python Pi2 à ma connaissance.
J'ai rencontré quelques problèmes avec GPIO, principalement liés à la tentative de changer les modes et les directions des broches qui ont déjà été définis lors d'une session précédente. Par exemple, parfois, si j'exécute un programme qui définit des broches à la sortie, puis que j'exécute un programme qui définit les mêmes broches à l'entrée sans redémarrer le pi, j'obtiens un tas d'avertissements (tels que "RunTimeWarning: ce canal est déjà en utilisation"). Cela est particulièrement problématique lors de l'appel de diverses fonctions liées à GPIO à partir d'un seul programme, car parfois le programme se bloque.
L'utilisation de la commande de nettoyage avant ou après la modification des paramètres GPIO supprime les avertissements et permet au code de s'exécuter sans aucun avertissement de paramètres GPIO.
Cleanup()
fonction. il semble que leGPIO.cleanup()
soit disponible car la fonctionnalité python conserve un journal des modifications afin de nettoyer ces modifications. Voir raspberrypi.stackexchange.com/questions/44807/…