Ho un programma python che voglio eseguire in background (su un Raspberry Pi) che aspetta input GPIO quindi esegue un'azione e continua ad aspettare l'input fino a quando il processo non viene ucciso .Python è il modo più efficace per attendere l'input
Qual è il modo più efficiente per raggiungere questo obiettivo. La mia comprensione è che usare se è vero non è così efficiente. Idealmente, utilizzerebbe gli interrupt, e potrei usare GPIO.wait_for_edge, ma ciò dovrebbe essere necessario in qualche ciclo o modo di continuare l'operazione al completamento del gestore.
Grazie
Si prega di spiegare un po 'di più perché 'while True:' 'x = GPIO.wait_for_edge()' 'se hasSomeProperty (x): break' non è una soluzione adeguata per il tuo caso. – Alfe
@Alfe Sono nuovo in Python, quindi non sono esattamente sicuro di quanto sia efficace un 'while True:' is. La mia ipotesi è che usasse cpu - looping. Mi chiedevo se ci fosse qualche altro costrutto che avrebbe solo dovuto aspettare (senza usare cpu), molto simile a 'GPIO.wait_for_edge()' ma non specifico per GPIO - quindi permettere ai gestori di interrupt di eseguire le rispettive elaborazioni. Questo è per un servizio/attività in background che dovrebbe essere eseguito continuamente - in attesa di interruzione. Semplicemente non masticare CPU se non sta facendo nulla. –