begin process at 2012 05 29 02:00:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

ActiveX / COM

 > 

Comment envoyer un 0x00 ou caractere NULL sur port com


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment envoyer un 0x00 ou caractere NULL sur port com

mardi 25 octobre 2011 à 00:00:18 | Comment envoyer un 0x00 ou caractere NULL sur port com

CodeSteph

Tout d'abord, merci à toi/vous de te pencher sur mon pb ou deja d'en prendre connaissance.
Je souhaite piloter un equipement electronique via port com. Pour cela j'utilise QT (souci d'apli multi plateforme et s'est aussi l'occasion de s'y mettre) j'ai tester differentes librairy dont qextserialport et qserialdevice Mon probleme : le protocole de communication est du modbus, cela implique que je dois envoyer different octet dont....0x00 et la ca se corse car toute ces lib utilisent le write ou writedata de Qiodevice qui envoy une chaine de char jusqu'a ce qu'il tombe sur le caractere de fin de chaine /o soit mon 0x00.
Apres plusieur recherche sur l'ami google et consor je m'en remet à vous car aussi bizard que cela puisse paraitre, je ne trouve aucune reponse à ma question: Comment lui faire comprendre que 0x00 n'est pas le caratere de fin de chaine, mais qu'il fait parti des data à transmettre???
mardi 25 octobre 2011 à 00:31:37 | Re : Comment envoyer un 0x00 ou caractere NULL sur port com

LA_Tupac

Membre Club
Déjà, au moins une des libs que tu cites est opensource (c'est un mot magique ça) donc absolument rien (sauf l'ignorance du C) ne peut t'empêcher de faire un fork de la fonction qui ignorera les 0x0 et se basera sur un argument "size".
Code C/C++ :
Sendto(chararray);//originale
Sendto(chararray, size);//fork
//attention ! risque de buffer overflow !

Pour revenir aux libs, je crois que libserial est beaucoup plus bas niveau et possède des options très précises.
Les libs que tu utilisent ont l'air assez génériques et ça va très bien quand on fait la même chose que les autre...
mardi 25 octobre 2011 à 01:03:33 | Re : Comment envoyer un 0x00 ou caractere NULL sur port com

CodeSteph

Oui tout a fait il est possible de la modifier, cependant ces lib semblent tellement incontournable sur QT pour attaquer un port com que je pensai que l'erreur c'etais moi lol car difficile pour moi (electronicien) de penser que ces lib puissent se refuser de balancer le char ou meme plutot le unsigned char que l'on veut. Je vais tester libserial, sinon je ferai mon propre clone.
Je posterai la solution car je pense ne pas etre le seule à vouloir piloter des cartes electroniques.
mardi 25 octobre 2011 à 09:37:55 | Re : Comment envoyer un 0x00 ou caractere NULL sur port com

LA_Tupac

Membre Club
Oki mais je penses à autre chose en relisant le thread : Si tu veux envoyer 0x0, ne peux-tu pas tout simplement réinitialiser le port ? Car 0x0 équivaut bien à un port inerte (éteint) non?
mardi 25 octobre 2011 à 09:55:15 | Re : Comment envoyer un 0x00 ou caractere NULL sur port com

CodeSteph

Je ne suis pas certain que le 0x00 soit garanti lors de l'initialisation ou la phase d'init. On s'en aperçoit d'ailleurs lors du retournement de bus, si une phase de stabilisation n'est pas observé coté réception, un caractère aléatoire peut être reçu. D'ailleurs c'est souvent un 0xFF mais cela dépend le plus souvent des drivers (hard). Mais je suis plus alaise sur mes hards fait maison que sur un PC… Mais ça viendra.
Concernant libserial, j'y ai jeté un petit coup d'oeil mais elle est destinée à linux hors petite précision qui a son importance, je travaille sous Qt/win 7.


Cette discussion est classée dans : port, caractere, envoyer, 0x00, com


Répondre à ce message

Sujets en rapport avec ce message

Port bluetooth [ par thelme ] Bonjour,Depuis un trop grand nombre de mois je tente de trouvé un programme qui puisse envoyer et recevoir des octets via port bluetooth pour pouvoir lecture/écriture port COM utilisé et connecté (modem) [ par mistigwn ] Bonjour,J'aimerai dialoguer avec un modem GSM, et écrire des commandes AT sur son port COM. Tant qu'il est déconnecté, pas de soucis. Par contre, dès Erreur d'execution d'uns dll [ par fabrice91 ] Bonjour tout le monde, voici mon problème : J'ai récupéré un code sur ce fabuleux site qu'est cppfrance;) (http://www.cppfrance.com/codes/BASE-COMMUNI Port COM, detection trame [ par neo85170 ] Bonjour à tous. Je suis en train de créer une application java qui utilise du code C pour dialoguer avec une carte reliée à l'ordi par un port COM. Ju selection automatique d'un port série [ par flozzzzz ] bonjour, je suis stagiaire dans un bureau d'étude et je dois faire des modifications / améliorations d'un programme déjà existant. Je n'ai pas vraime Lecture d'info depuis le port COM avec MS-Access [ par yves64 ] Bonjour, J'ai une application Access qui doit recevoir des données d'un chronomètre externe relié au PC par le port COM. Jusqu'ici, j'utilisais le MSc Lecture en multi port com LSD [ par hellangel777 ] Bonjour à tous, Je cherche a faire un programme qui va lire plusieurs port com en même temps. En fait, j'ai 16 ports de communication et je cherche à enregistrement de buffer dans un fichier [ par ekto45 ] Bonjour Je bosse sur une interface CVI/labwindows ( langage C) et je dois récupérer grâce à des requêtes MODBUS que j'envoie sur mon port COM des don Accès RS232 Virtuelle depuis C++ [ par CG1414 ] Bonjour, Je rencontre un PB pour envoyer des commandes en ASCII sur une COM RS232 virtuelle depuis C++ Builder 5.[^^mad5] J'ai un équipement (DataMa port USB [ par harmonips ] Salut a tous,Je doit faire un programme pour une industrie qui travail dans le biomédical.j'ai tout fait l'inteface graphique, toutes les sauvegardes.


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales