Lecture sur le port série

Résolu
sebome Messages postés 15 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 5 septembre 2008 - 18 mai 2007 à 15:39
karmoussaa Messages postés 2 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 5 juin 2009 - 5 juin 2009 à 04:04
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
18 mai 2007 à 20:36
t'as tout compris

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
18 mai 2007 à 19:50
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 #
0
sebome Messages postés 15 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 5 septembre 2008
18 mai 2007 à 20:14
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
0
sebome Messages postés 15 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 5 septembre 2008
18 mai 2007 à 20:45
Ok merci beaucoup pour ton aide précieuse!

Sébome
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_fbona Messages postés 1 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 5 juin 2007
5 juin 2007 à 09:51
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 -->
0
karmoussaa Messages postés 2 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 5 juin 2009
5 juin 2009 à 04:04
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
0
Rejoignez-nous