Mam program Pythona Chcę uruchomić w tle (na Raspberry Pi), który czeka na wejście GPIO następnie wykonuje akcję i nadal czeka na dane wejściowe, aż proces jest zabity .Python jaki jest najbardziej efektywny sposób oczekiwania na dane wejściowe
Jaki jest najbardziej skuteczny sposób, aby to osiągnąć. Rozumiem, że używanie podczas prawdziwości nie jest tak skuteczne. Idealnie byłoby użyć przerwania - i mógłbym użyć GPIO.wait_for_edge - ale to musiałoby być w jakiejś pętli lub sposób kontynuowania operacji po zakończeniu obsługi.
Dzięki
Proszę wyjaśnić nieco więcej dlaczego 'while True:' 'x = GPIO.wait_for_edge()' 'if hasSomeProperty (x): break' nie jest odpowiednim rozwiązaniem dla twojej sprawy. – Alfe
@Alfe Jestem nowy dla Pythona - więc nie do końca pewny jak efektywny jest 'while True:'. Zakładam, że używało procesora - pętli wokół. Zastanawiam się, czy istnieje jakiś inny konstrukt, który by po prostu czekał (bez użycia cpu), podobnie jak 'GPIO.wait_for_edge()' ale nie specyficzny dla GPIO - wtedy pozwalając procedurom obsługi przerwań na ich przetwarzanie. Jest to zadanie serwisowe/działające w tle, które będzie po prostu działało nieprzerwanie - oczekiwanie na przerwanie. Po prostu nie żartuję na procesorze, jeśli nic nie robi. –