Besoin d'aide pour programmer un port série

Résolu
Signaler
Messages postés
10
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
13 mars 2009
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
bonjour,actuellemet je rencontre 2 difficultés dont je n'arrive pas a trouver de solutions. Tout d'abord, je desire incrementer une variable en fonction de la durée d'un click (ex: click 1sec -> i 1 et si click 10 sec -> i 10).
Ensuite, je n'arrive pas a dialoguer avec mon port serie malgres toutes les recherches et les essais que j'ai fais. J'utilise Microsoft Visual Basic 2008 Express. Si quelqu'un pourrai m'aider ca serai super.
Merci d'avance !!

7 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Ca fait 2 questions ça : ça complique la réponse puisque tu n'auras surement qu'une partie de la réponse.

Pour ton port Com :
Qu'as-tu fait pour l'instant ?
Avec quoi dialogues-tu ?
T'es-tu renseigné sur le protocole d'échange ?
Que dois-tu échanger ?

Pour ton chronmétrage :
Dans la partie Déclaration de ta forme, tu déclares une variable
   Dim dblDebut As Double
Et dans les évenements de ton bouton :
Dans le Button1_MouseDown :
   dblDebut = Microsoft.VisualBasic.DateAndTime.Timer

Dans le Button1_MouseUp
   MsgBox("Durée du clic = " & _
         CStr
(Microsoft.VisualBasic.DateAndTime.Timer - dblDebut))

Seule restriction :
Timer fournit le nombre de secondes écoulées depuis minuit.
- Donc, si tu fais ton Clic à minuit pile, le calcul renverra un chiffre négatif.
Si c'est le cas, il te suffit d'ajouter 24h en secondes au résultat, je te laisse le soin de calculer combien il y a de secondes dans une journée.
- Si le clic dure plus de 24h, le résultat sera faux (on ne sait jamais)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
10
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
13 mars 2009

Merci bien!!!
En faite, je creer une interface permettant de piloter un machine à commande numérique. Je communique avec le port série, que j'arrive pas a ouvrir. J'ai un message qui apparet (Ressources système insuffisantes pour terminer le service demandé.).Cela doit etre du à mon ordinateur, mais que faire? car du cou mon programme plante!!


Sinon, y a pas d'autre solution que de passer par l'horloge?


Merci
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Par l'horloge ?
De quoi parles-tu ?
Quel composant utilises-tu ?
Quelle erreur sur quelle ligne ?
Tu es avarre en détails ...
Messages postés
10
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
13 mars 2009

Que veux tu dire par "Quel composant utilises-tu ?"
Dsl je suis novice en la matiere!!!
Ton moceau de programme fonctionne tres bien mis a part a la 1ere utilisation ( environ 70 000sec), ce que je comprend pas vue que pour les autre cela fonctionne impeccable.Et je voulai savoir si le Timer ete la seule possibilité pour arriver a ce resultat!!! 
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Re
Mais mets toi à notre place, on ne sait même pas ce que tu as programmé !
Comment veux-tu qu'on te dise ce qui ne va pas ?
Tu parles de Port Série dans le titre, puis tu nous parles de Timer ...
Utilises-tu l'objet SerialPort ?
Ah, je viens de comprendre : Timer | Horloge : Vache, tu nous épargnes rien, toi
Essaye au moins d'utiliser les bons termes, qu'on y comprenne quelque chose.

Tu vois, à poser plusieurs questions en même temps, ça embrouille tout le monde.
Pour la suggestion du programme de chrono de clic, je ne vois pas pourquoi cela ne marcherait pas, du moment que tu initialises / mémorises bien la valeur de Timer au Down, le Up ne devrait pas te fournir cette valeur.
Ajoute des espions dans tes lignes, du genre 
   Debug.Print ("Programme passé par le Down")
afin de le suivre.
A mon avis, il y a peu de chance qu'il y ait un évènement Up avant un Down ...
"vue que pour les autre cela fonctionne impeccable" : Les autres quoi ?

Encore une fois, je te répète qu'on n'est pas derrière ton épaule, explique bien ton environnement.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
10
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
13 mars 2009

J'ai integrer a mon programme l'objet SerialPort.
quand j'ouvre ce port ( SerialPort.Open() ) mon programme plante et un message apparait disant : "Ressources système insuffisantes pour terminer le service demandé."
j'ai peut etre oublier de renseigner des propriétés de mon SerielPort, car j'ai laisser les propriétés par defaut.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Re
Bizarre.
Les valeurs par défaut orientent vers COM1 à 9600 bds, le standard, quoi.
Tu dis avoir laissé les paramètres par défaut : Dans ton programme, tu ne touches pas du tout à SerialPort1 avant de faire le Open ?
As-tu un port COM1 sur ta machine ?
Essaye de créer un nouveau projet avec une forme vide + l'objet SerialPort pour vérifier si le phénomène est lié au projet ou à une défaillance du composant.
"Ressources insuffisantes" : rare. Ta machine est-elle récente ou du moins, pas trop vieille ?
Idée : Quel nom as-tu donné au composant SerialPort sur ta forme ? Fais attention à ne pas utiliser un nom ressemblant à un mot clé du système

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)