Bonjour,
j'utilise le code suivant pour faire des boucles de mesures.
Ici je simule la mesure avec un petit "random" mais le problème qui me préoccupe reste inchangé:

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
    def aquisition(self):
        self.timer = QTimer()                                                #déclaration du timer
        self.debut=time.time()
        self.timer.timeout.connect(self.update1)
        self.timer.setInterval(20)
        self.timer.start(20)
 
    def update1(self):
 
        self.temps_passe=time.time()-self.debut+self.cumul
        self.liste = 10*random.random()
 
        self.x.append(self.temps_passe)
        self.y.append(float(self.liste))
 
        self.temps_ecoule=time.time()-self.debut
        self.nb_mesures=self.nb_mesures+1
Le code semble bien tourner...
puisque quand mets "10" (dans le setInterval et le start du Timer) j’obtiens bien 100 opérations par secondes (1000/10).
idem lorsque je mets "250", j'obtiens bien 4 mesures par seconde (1000/250)

Mais quand je mets 20 (par exemple)... j'obtiens 160 valeurs par seconde...
comment cela se fait??? Il semble que tout se passe bien quand je demande à aller plus vite ou plus lentement mais pour des valeurs intermédiaires... ça ne marche pas correctement...

Y a-t-il une explication?
merci :-)