IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

timer dans serialport


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 109
    Par défaut timer dans serialport
    Bonjour,

    j'ai un petit soucis de déclenchement de timer dans un paragraphe serialport_dataReceived.

    Lorsque je veux déclencher mon timer avec timer6.enabled = True, rien ne se passe. J'ai vérifié que le timer se déclenchait avec la même méthode lors du "load" de la form1. J'ai également vérifié qu'un autre timer se déclenchait dans le paragraphe serialport_dataReceived, ce qui est le cas.

    Mais là, je suis à court d'idée. Est-ce que quelqu'un en aurait une à me fournir?

    Merci.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Montre ton bout de code (instanciation, abonnement, start, stop, désabonnement, dispose) !

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 109
    Par défaut
    Désolé pour le temps de latence, déménagement et déplacement pro oblige:
    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
       Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As   System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
            If SerialPort1.BytesToRead >= 20 Then
                Codebarres = SerialPort1.ReadExisting()
                Timer6.Enabled = False
                Timer6.Stop()
                  If j > 1 Then
                  tempsdepart = Now
                  interval = tempspochette(tempsdepart, tempsfin)
                  Timer6.Interval = interval * coeffpdv
                  Debug.Print("interval calculé " + CStr(interval))
                  Timer6.Enabled = True
                  End If
                tempsfin = Now
            End If
        End Sub
     
        Private Sub Timer6_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer6.Tick
            Debug.Print("timer6")
            photoauto = True
            Timer4.Enabled = False
            Timer4.Stop()
            Timer6.Enabled = False
            Timer6.Stop()
            ClearDigitalChannel(1)
            SetDigitalChannel(4)
            System.Threading.Thread.Sleep(100)
            ClearDigitalChannel(4)
            System.Threading.Thread.Sleep(200)
            SetDigitalChannel(1)
            System.Threading.Thread.Sleep(200)
            SetDigitalChannel(2)
            System.Threading.Thread.Sleep(100)
        End Sub

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Tu rentres bien dans ton ?

    Sinon Start/Stop équivaut à écrire sur Enabled, pas besoin de faire les 2 opérations.

    Que donne ton intervalle calculé ?

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 109
    Par défaut
    Bonjour,

    merci de ta réponse.

    Oui, je rentre bien la valeur de j. J'avais vérifié qu'elle était correcte avec un debug.print. J'avais également testé de le supprimer, mais le problème était le même.

    Pour le TimerX.enabled = false et timerX.stop(), effectivement, c'est équivalent, mais j'avais eu un souci une fois où le enabled ne semblait pas marcher. Depuis, je rajoute le stop. Est-ce que cela pourrait être à l'origine de mon problème?

    En ce qui concerne l'intervalle, il est calculé correctement (vu par debug.print). De plus, lorsque je déplace le lancement du timer dans un autre paragraphe, le timer se déclenche correctement avec le bon intervalle.

    Je me demandais également si le nombre de timers utilisés n'était pas supérieur à celui que peut gérer VB. J'ai donc supprimé la majorité d'entre eux, mais je ne peux tester le programme que devant la machine pour laquelle il est destiné (donc cet après-midi).

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    coeffpdv vaut 1000 ?

Discussions similaires

  1. Creer un composant non visuel(Timer) dans une DLL
    Par hugobob dans le forum Composants VCL
    Réponses: 1
    Dernier message: 06/06/2006, 16h20
  2. Création du timer dans une Dll
    Par Hokagge dans le forum MFC
    Réponses: 13
    Dernier message: 14/03/2006, 18h04
  3. Réponses: 4
    Dernier message: 08/07/2005, 17h37
  4. Utiliser un timer dans une application console
    Par chavers dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2005, 14h07
  5. Timer dans une feuille excel
    Par bbkenny dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 28/01/2005, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo