Käyttäessäsi ohjelmaa Pythonissa, miksi haluan puhdistus-komennon käyttäessäni GPIO: ta?

Kommentit

  • Lisähuomautuksena C-ohjelmien kanssa käytetyssä wiringPi-kirjastossa ei ole Cleanup() -funktiota. näyttää siltä, että GPIO.cleanup() on käytettävissä, koska python-toiminto pitää muutosten lokia näiden muutosten puhdistamiseksi. Katso raspberrypi.stackexchange.com/questions/44807/ …

Vastaa

Kuten mainittiin tämä artikkeli RPi.GPIO perusteet 3 – GPIO-ohjelmista poistuminen siististi, varoitusten välttäminen ja Pi: n suojaaminen , GPIO.cleanup (): n oikea käyttö,

GPIO.cleanup () -palvelun oikea käyttö

RPi.GPIO tarjoaa sisäänrakennetun toiminnon GPIO.cleanup (), joka puhdistaa kaikki käyttämiäsi portteja. Mutta ole hyvin selvää, mitä tämä tekee korjaa kaikki nykyisessä ohjelmassa asettamasi portit. Se palauttaa kaikki tässä ohjelmassa käyttämäsi portit takaisin syöttötilaan. Tämä estää vaurioita esimerkiksi tilanteesta, jossa portti on asetettu HIGH-lähdöksi ja liität sen vahingossa GND: hen (LOW), mikä oikosuluttaisi portin ja mahdollisesti paistaisi sen. Tulot voivat käsitellä joko 0 V (matala) tai 3,3 V (korkea), joten on turvallisempaa jättää portit tuloiksi.

Toivottavasti se poistaa epäilyt.

Vastaa

Sinun ei tarvitse käyttää puhdistusmenetelmää.

Vain minun tietoni mukaan RPi.GPIO- ja RPIO.GPIO Python -moduuleilla on puhdistusmenetelmä. Siivousmenetelmä asettaa kaikki aiemmin käyttämäsi gpios-syötteet ja poistaa näiden gpioiden sisäiset vetäytymiset / laskutoimitukset käytöstä. sikäli kuin olen tietoinen.

Kommentit

  • Mikä siivouskomennon tarkoitus sitten on?
  • @Human I älä ' usko, että tarkoitukseen on paljon, olen ' d lisännyt tällaisen menetelmän, jos luulen sen tarpeelliseksi. dastaan on vastauksessaan osoittanut RPi.GPIO-kirjoittajan käyttämän päättelyn. Se voi olla enemmän filosofinen taipumus, oletan, että käyttäjillä on syytä tehdä mitä he tekevät tai eivät tee ' t. Jos he haluavat jättää gpion tuloksi ohjelman päättymisen jälkeen, heidän on asetettava se tuloksi.

Vastaa

Olen kohdannut muutamia ongelmia GPIO: n käytössä, lähinnä yrittäessäni muuttaa tilaa ja kiinnittää suuntaa, jotka on jo asetettu edellisessä istunnossa. Esimerkiksi jos joskus suoritan ohjelman, joka asettaa nastat tulostettavaksi, ja sitten suoritan ohjelman, joka asettaa samat nastat syötettäväksi käynnistämättä pi: tä uudelleen, saan joukon varoituksia (kuten ”RunTimeWarning: Tämä kanava on jo käyttää”). Tämä on erityisen ongelmallista, kun soitetaan useita GPIO-toimintoja yhdestä ohjelmasta, koska joskus ohjelma kaatuu.

Puhdistuskomennon käyttö joko ennen GPIO-asetusten muuttamista tai sen jälkeen poistaa varoitukset ja antaa koodin toimia sujuvasti ilman GPIO-asetusten varoituksia.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *