Envoyer une trame sur RS232

lezard136 Messages postés 92 Statut Membre -  
loupius Messages postés 789 Statut Membre -
Bonjour,

Voilà, donc j'aimerai savoir comment envoyer une trame complète via le port série d'un PC avec un programme simple, si possible, en C++.

J'ai trouvé plusieurs réponses sur la toile, mais ceux-ci permettent de transférer des donnés et non la trame en elle même.

Par exemple si je veux envoyer la trame

01 01 01 FF 35

Chaque caractère de cette trame sera "traduite" en ASCII, alors que moi, je veux directement envoyer une trame que je rentre manuellement dans le programme.

Je vous remercie d'avance.

4 réponses

loupius Messages postés 789 Statut Membre 148
 
Il faut utiliser les fonctions adéquates:
- sous Linux, il y a les fonctions 'open read write close' (norme Posix) qui permettent de piloter un port 'Com',
- sous Windows, il existe des fonctions dans l'API.
Quelquesoit le système on peut envoyer des caractères de 7 ou 8 bits (selon le paramétrage du port). En 8 bits les valeurs possibles vont de '0' à '255'; Les caractères ASCII ne sont qu'une interprétation particulière de la valeur.
Bonne continuation.
1
lezard136 Messages postés 92 Statut Membre 3
 
Personne ???
0
flolarajasse Messages postés 115 Statut Membre 14
 
Bonjour,
Sans te dire de bêtises, je crois que tu es obligé de convertir en ASCII pour la transmission, et ensuite tu le retraduit en héxadécimal. Mais c'est à confirmer!!

@+
0
blux Messages postés 27993 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

oui mais là, il ne veut pas envoyer des données structurées selon un protocole, mais juste des caractères...

Je crois qu'il faut s'adresser directement au contrôleur du port RS232, dans ce cas-là.
0
flolarajasse Messages postés 115 Statut Membre 14
 
Oui mais combien de caractères?Pour 1 caractère tu dois pouvoir, mais imagine si il envoie une trame de dizaines de caractères?!?
0
blux Messages postés 27993 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
ben là, il veut envoyer 5 caractères...

Le nombre ne change rien...
0