Bonjour,

J'ai besoin d'afficher une variable (ADC d'un capteur) en temps réel dans un label en le lançant avec un bouton puis pouvoir l'arrêter avec un autre. Évidemment, je souhaite pouvoir relancer la lecture si nécessaire.

J'ai essayer de mettre en place votre solution mais je ne réussis pas à la faire fonctionner. Pouvez vous m'aider ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
class genemesure(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
        self._etat = False
        self._pause = False
 
    def run(self):
        self._etat = True
        while self._etat:
            if self._pause:
                time.sleep(10)
                continuer
            read_adc0 = readadc(adcnum, SPICLK, SPIMOSI, SPIMISO, SPICS)
            # conversion de la valeur brute lue en milivolts = ADC * ( 3300 / 1024 )
            millivolts = read_adc0 * ( 3300.0 / 1024.0)
            time.sleep(0.5)
            resultat.set(millivolts)
 
 
    def stop(self):
        self._etat = False
 
    def pause(self) :
        self._pause = True
 
    def continuer(self):
        self._pause = False
 
 
etat=genemesure()
 
#Relie a un bouton pour demarrer la mesure
def genere ():
    etat.start()
 
#Relie a un bouton pour arreter(mettre en pause dans notre cas) la mesure
def arrete ():
    etat.pause()
Il me dit que le thread ne peut être démarrer qu'une fois et que "continuer" n'est pas définit.

Merci