Envoyer commande sur port série

Résolu
mcferson Messages postés 33 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 1 juin 2012 - 30 août 2010 à 12:11
 vb95 - 7 févr. 2020 à 14:31
Bonjour ici.
Voilà, ne connaissant pas bien la classe SerialPort, je ne sais pas comment envoyer une commande sur un port COM.
Par exemple, sur hyperterminal, j'écris ma commande, à destination d'un module GPS, dans son langage d'instruction. Je cherche à faire ça, par l'intermédiaire d'un programme personnel en C#, qui va envoyer la commande saisie sous forme d'une string (en réalité un peu plus complexe que ça, mais la commande est, au final bien envoyée en string, puisque chaque composant est récupéré d'un fichier xml).
il y a bien SerialPort.Write() mais manifestement, ça n'a pas l'air d'être ça (ou bien c'est ma récupération de la réponse qui est foireuse).
A voir également:

29 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
31 août 2010 à 16:22
C'est bien Write qu'il faut utiliser

Mais Write à la particularité de faire par défaut les envois en ASCIIEncoding, donc tous les caractères dont le code ascii est supérieur à 127 seront remplacer par ?

Pour pouvoir envoyer ces caractères correctement, il faut passer sur un encoding UTF8, UTF32 ou Unicode, mais alors chaque caractère sera représenté par 2 à 4 octets.

Sinon, (de mémoire d'après divers messages vus sur les forums) il faut convertir la chaine de caractère en tableau de byte et envoyer ce tableau.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
1
Rejoignez-nous