Câu trả lời:
Như đã đề cập trong bài viết này RPi.GPIO cơ bản 3 - Cách thoát chương trình GPIO sạch sẽ, tránh cảnh báo và bảo vệ Pi của bạn , sử dụng đúng GPIO.cleanup (),
Sử dụng đúng GPIO.cleanup ()
RPi.GPIO cung cấp chức năng GPIO.cleanup () tích hợp để dọn sạch tất cả các cổng bạn đã sử dụng. Nhưng hãy thật rõ ràng những gì nó làm. Nó chỉ ảnh hưởng đến bất kỳ cổng nào bạn đã đặt trong chương trình hiện tại. Nó đặt lại bất kỳ cổng nào bạn đã sử dụng trong chương trình này trở về chế độ đầu vào. Điều này ngăn ngừa thiệt hại từ một tình huống trong đó bạn có một cổng được đặt CAO làm đầu ra và bạn vô tình kết nối nó với GND (THẤP), điều này sẽ làm đoản mạch cổng và có thể chiên nó. Đầu vào có thể xử lý 0V (THẤP) hoặc 3,3V (CAO), vì vậy an toàn hơn khi để các cổng làm đầu vào.
Hy vọng nó xóa tan nghi ngờ của bạn.
Bạn không phải sử dụng phương pháp dọn dẹp.
Theo như tôi biết thì chỉ có các mô-đun Python RPi.GPIO và RPIO.GPIO có phương thức dọn dẹp. Phương thức dọn dẹp thiết lập tất cả các gpios bạn đã sử dụng làm đầu vào và vô hiệu hóa các lần kéo / xuống bên trong cho các gpios đó.
Mô-đun Python pigpio của tôi không có phương pháp dọn dẹp, mô-đun Python dâyPi2 cũng không theo như tôi biết.
Tôi đã gặp một vài vấn đề khi sử dụng GPIO, chủ yếu liên quan đến việc cố gắng thay đổi chế độ và hướng ghim đã được đặt trong phiên trước. Ví dụ: đôi khi nếu tôi chạy một chương trình đặt chân thành đầu ra và sau đó tôi chạy chương trình đặt các chân tương tự thành đầu vào mà không khởi động lại pi, tôi nhận được một loạt các cảnh báo (chẳng hạn như "RunTimeWarning: Kênh này đã có sử dụng"). Điều này đặc biệt có vấn đề khi gọi các chức năng liên quan đến GPIO khác nhau từ một chương trình, vì đôi khi chương trình gặp sự cố.
Sử dụng lệnh dọn dẹp trước hoặc sau khi thay đổi cài đặt GPIO sẽ loại bỏ các cảnh báo và cho phép mã chạy trơn tru mà không có bất kỳ cảnh báo cài đặt GPIO nào xảy ra.
Cleanup()
chức năng. có vẻ nhưGPIO.cleanup()
là có sẵn vì chức năng python giữ một bản ghi các thay đổi để dọn sạch những thay đổi đó. Xem raspberrypi.stackexchange.com/questions/44807/ trộm