Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1398 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] port com - transmition en binaire plutôt que par caractères

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] port com - transmition en binaire plutôt que par caractères

n°1601489
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 21-08-2007 à 01:02:15  profilanswer
 

Salut à tous
 
j'ai un problème pour envoyer un checksum avec le Tcomport
 
Quand on envoi ou reçoit avec le composant comport de delphi on envoie et reçoit toujours uniquement des caractères d'après ce que j'ai pu trouver???
 
j'ai des paquets de donées à envoyer par le port série (en caractères normaux ça ne gène pas) malheureusement le dernier octet de ce paquet est le checksum de chaque octets (en integer ou byte bref) et forcément si je le convertit en char ça donne portnawak donc à chaque fois le paquet est bien envoyé mais pas le checksum...
 
n'y a-t-il pas une autre façon?
 

mood
Publicité
Posté le 21-08-2007 à 01:02:15  profilanswer
 

n°1601674
olivthill
Posté le 21-08-2007 à 13:04:08  profilanswer
 

Il est possible que le Tcomport utilise le protocole xon/xoff qui était assez populaire, et qui utilise des caractères spéciaux dont le code est en dessous du code de l'espace. En conséquence, l'envoi de caractères binaires pourrait perturber la gestion du transfert. Dans ce cas, il n'y aurait pas d'autre solution que de convertir le checksum en une petite chaine de caractères normaux.

n°1601925
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 21-08-2007 à 19:58:00  profilanswer
 

salut merci pour cette info, si c'est le cas, les boules parceque je n'ai pas le choix, suis obligé de le faire sur un seul caractère (ou octet quoi) la taille du paquet est toujours fixe et j'peut rien faire du coté du recepteur
 
après je sais pas trop pour le xon/xoff surement oui
 
si le checksum correspond correspond à: a,A, B ou autres ça roule mais si il correspond à un "." (un point) il peut avoir beaucoup de valeures  :sweat: et effectivement en dessous des caractères normaux
 
j'essaye d'immiter des programmes qui existent c'est donc fasable mais sont ils fait en delphi ??? et avec le Tcomport???
 
d'un autre coté j'ai déja reussit à envoyer avec des checksums bidons le recepteur reçoit donc bien le probème ne vient peut être pas de là  :??:
 
j'ai déja comparé mes checksum avec ceux envoyés avec les autres programmes et ils sont tous ok
 
pas d'autre idées ?


Message édité par Flagad'aware le 21-08-2007 à 20:04:19
n°1601934
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 21-08-2007 à 20:59:39  profilanswer
 

Rahlala j'ai réussi en utilisant:
 
comport.write(const buffer: non typé ; count:integer)  [:athlonxp2100+]  
 
au lieu de :
 
comport.writestr(const str:string)...
 
ce qui évite au passage pas mal de code inutile :)
 
ouélé au cas où qu'ça peut servir à d'autres


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] port com - transmition en binaire plutôt que par caractères

 

Sujets relatifs
Supprimer plusieurs octets séparés d'un fichier binaire ?[RESOLU] pb avec un fichier binaire et vc
Programmation port USBtester des caracteres
[C] #define dans une chaine de caracteres[Delphi] Sendmessage ?
Test port parralèle sous XP et 2000remplacer caractères avec VB6
[PHP] Couper une chaîne avec caractères html ?Random sur 5 caractères
Plus de sujets relatifs à : [Delphi] port com - transmition en binaire plutôt que par caractères


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR