|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Administrateur de base de données Inscription : janvier 2012 Messages : 38 ![]() |
Je développe actuellement une application qui sert à lire des données d’un port com (appareil électronique de pesage)
Et je rencontre un problème qui est le suivant: Apres la lecture des données j’obtiens le résultat sous forme de petit rectangle, est ce que c’est un caractère crypté ou encodé ou juste un une case vide Code :
piece jointe Et merci pour toute suggestion |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Salut,
Peut-être que comme celà ça marchera mieux? Code :
Pfeuh |
||
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Administrateur de base de données Inscription : janvier 2012 Messages : 38 ![]() |
salut p-feuh
j'ai essayé le code que tu m'as donné, il m'afiche 2 zero ('00',) je ne sais toujours pas pourquoi N.B: j'utilise le port (RS232) |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Parce que un octet de valeur 0 a été reçu sur le port série.
A ce stade, il faudrait te demander si les deux ports séries (du PC et de l'appareil électronique de pesage) sont configurés de la même façon (vitesse, nb de bits etc...) et potasser le protocole de communication: Sous quelle forme ton appareil envoi t-il les données? Entiers? Flottants? Textes? Trame complexes à décoder? Lui faut il une question pour qu'il réponde? Ou envoi t-il cycliquement sans question? Etc... |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Administrateur de base de données Inscription : janvier 2012 Messages : 38 ![]() |
je n'ai pas la moindre idée sur le mode de fonctionnement de l'apareil
que dois je faire à present ? |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Comme dit plus haut potasser le protocole de communication de ton appareil... Si tu as son constructeur et sa référence, tu dois pouvoir trouver sa documentation (donc son protocole de communication) sur le net... Si tu ne l'as pas c'est une mission suicide... Ou alors faire du reverse engineering... Bon courage.
|
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 613 ![]() |
Une valeur de zero est sans doute possible.
Cela donne quoi chargé ?
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Administrateur de base de données Inscription : janvier 2012 Messages : 38 ![]() |
le code me renvoi zero alors que la balance est chargée
je vais modifier les paramètre et voir ce que ça donne |
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Administrateur de base de données Inscription : janvier 2012 Messages : 38 ![]() |
un grand merci à vous .
j'ai enfin pu configurer le port de l'appareil et tout fonctionne à merveille sauf qu'il me reste un truc je veux que le programme reste en veille tant qu'il n'y a rien a recevoir du port com et dés qu'il ya ya un flux d’informations qui passe il commence le traitement de données merci pour toutes suggestions |
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 613 ![]() |
Bonjour,
Il est possible de positionner le paramètre timeout à None (Valeur par défaut). Ainsi un ser.read(1) attendras la lecture de 1 caractère sans limite de temps. Dans le cas ou c'est plusieurs caractères result = ser.read(1) vas attendre/stocker le premier caractère avant de poursuivre. Un nbchar = ser.inWaiting() vas permettre d'avoir le nombre de caractères suivants ce qui fait qu'un result += ser.read(nbchar) donneras tous les caractères lus sur le port. Il est possible qu'un time.sleep(x) soit utile entre le premier ser.read() et ser.inWaiting() : Histoire de tout récupérer. @+
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
00
|
|
|
#11 | ||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 613 ![]() |
Avec du code
Code :
__________________
Merci d'utiliser le forum pour les questions techniques. |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com