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 6 et antérieur Discussion :

compteur sur front montant d'un contact sec


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 35
    Points : 20
    Points
    20
    Par défaut compteur sur front montant d'un contact sec
    Bonjour
    Je veut compter le nombre d'impulsions qui est délivé par un contact sec branché sur le port série entre les pinoches CTS et DTR.
    jusque là tout est ok.
    Problême mon compteur tourne si je reste appuyer en permanence sur le contact sec.
    Je voudrais qu'il se déclenche que sur front montant ou descendant, je pense il faut peut être utiliser KeyUp ou KeyDown.
    Si quelqu'un a une soluce.
    Merci d'avance
    A+

    Ci joint le code de comptage.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Timer2_Timer()
    CTSact = CTS
    If (CTSact <> CTSanc) Then CTSanc = CTSact
    If CTSact = "1" Then intSomme = intSomme + Text1.Text
    Text2.Text = intSomme
    End Sub
    Pour infos:
    CTSact=1 quand le contact sec est activé
    CTSanc=0 quand le contact sec n'est pas activé
    Résultat comptage dans text2.text

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Là il ne s’agit pas d’un problème de langage mais d’algorithme.
    Il faut que tu ais une variable qui retienne le dernier état lut sur ton port série.
    Dans la section général de ta form tu déclare une variable Dim OldEtat as Integer, dans la procédure événementiel (Timer2_Timer) tu commences par comparer si l’état précédant été égal à 0 et si le nouvel état = 1, la condition est remplis, tu mets OldEtat = 1 et tu traites la chose.
    Au prochain passage dans (Timer2_Timer) OldEtat étant égal à 1, si le nouvel état et égal à 1 tu ne fait rien, si le nouvel état égal 0 tu mets OldEtat égal 0 et tu ne fait rien, au prochain passage de l’état à 1, la boucle recommence.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 35
    Points : 20
    Points
    20
    Par défaut Compteur sur front montant d'un contact sec sur le port série
    Bonjour

    C'est ok
    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Timer2_Timer()
    CTSnouv = CTS
    If (CTSnouv <> CTSant) Then
    CTSant = CTSnouv
    If CTSnouv Then
    intSomme = intSomme + Text1.Text
    Text2.Text = intSomme
    End If
    End If
    End Sub
    Merci pour ta réponse.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bloc compteur des fronts montants ou descendants
    Par Noura2013 dans le forum Simulink
    Réponses: 4
    Dernier message: 18/07/2013, 18h55
  2. Action sur front montant
    Par Stooo dans le forum Simulink
    Réponses: 1
    Dernier message: 27/04/2012, 20h52
  3. compteur de fronts sur matlab/simulink
    Par nablovic dans le forum MATLAB
    Réponses: 1
    Dernier message: 19/04/2012, 14h36
  4. Calcul temps de Marche sur front montant
    Par ARAGORN93 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/02/2008, 23h01
  5. front montant sur bit dans un mot
    Par Baxter67 dans le forum C++Builder
    Réponses: 0
    Dernier message: 23/01/2008, 23h08

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