Lecture sur le port série

Résolu
Signaler
Messages postés
15
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
5 septembre 2008
-
Messages postés
2
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
5 juin 2009
-
Tout d'abord bonjour à tous,


Je vais commencer un peu par expliquer ce que je voudrai
faire…


J’ai un système de télémesure dont la sortie du démodulateur
va sur un port série. Je voudrai lire les trames qui m’arrivent sur le port
série pour ensuite les traiter en « temps réel ». Je connais exactement
la tête des trames qui m’arrivent en binaire (à part la valeur exact des
données bien sûr). 1 START bit – 8 bits de données – 1 stop bit ect…


Je pence à peu près avoir bien posé le sujet, maintenant je
vais essayer d’expliquer mon problème…



 Je fais mon programme
en VB 2005, j’utilise la classe serialPort qui est incluse et j’ai bien
configuré mon port.


Je veux lire octet par octet (8 bits par 8 bits) donc j’utilise
la fonction « Public Function ReadByte() as Integer » qui lit un
octet de la mémoire tampon. Mais je ne vois pas trop ce que retourne cette
fonction… C’est la valeur décimale de mes 8 bits de données (donc une valeur entière
comprise entre 0 et 255) ?


Je vous remercie d’avance pour votre aide.



Sébome

6 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
t'as tout compris

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Oui, ce que tu lis sur le port série, ce n'est que la partie "données" de ta trame, tout le reste est géré par le matériel et tu n'y accède pas.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
15
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
5 septembre 2008

Je te remercie pour ta réponse.


Donc si j’ai bien compris si je reçois sur le port série un
truc du genre :


1 start bit -00011000 – stop bit


Le port série se charge de retiré le start et le stop bit (en
fonction de comment je le configure) et la fonction ReadByte() me retourne 24
(l’équivalent de 00011000(binaire) en décimal) ?



Merci

Sébome
Messages postés
15
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
5 septembre 2008

Ok merci beaucoup pour ton aide précieuse!

Sébome
Messages postés
1
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
5 juin 2007

Bonjour,

J'ai écrit un petit programme qui lit les signaux venant d'un port série via IO.Ports.SerialPort en VB 2005.

Je reçois bien les signaux mais, pour les bytes > 7E, je reçois systématiquement 3F (comme si VB refusait les bytes avec le 8ème bit à 1).

Quelqu'un peut-il m'expliquer comment éviter cette "conversion"?

Merci d'avance

<!-- / message -->
Messages postés
2
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
5 juin 2009

salut,
dans mon application , j'ai une liste d'engins et je désire les contrôler par un gps alors je fais une connection à un port série pour lire des messages contenant l'altitude,la latitude et la longitude -d'un engin particulier - récupérés par un GPS.je veux lire automatiquement à chaque minute par example la liste des sms reçus ,les enregistrer dans la base, puis les effacer du port. alors comment je peux utiliser les timers pour manipuler ça.
je suis débutante en vb .
Merci d'avance pour votre aide