Tout est dans le zip
Télécharger le zip
super!! j'ai un pote que ça va bcp intéressé, je le contact de ce pas ;-)
Merci Kirua ;)
salut, le probleme que j'ai avec votre application c'est que je ne sais quel brachage je doit utilisé pour recevoire les bonnes caractere car q'on j'envoie un caractere je recois dans l'autre ordinateur un caractere vraiment bizare... pouvez vous me donnez le schema de brochaga ... TX1-->RX2 & TX2-->RX1 mais pour les autres q'est ce que je doit faire Merci d'avance
Le port série utilise une seule broche pour envoyer des caractères et une autre pour en recevoir. Les autres servent a donner l'état du composant.Plus d'infos : http://sudriabotik.free.fr/fichiers/serie.htm
Si tu reçois des caractères bizzares vérifie le taux de transfert et les différents paramètres (bits de données, de stop, parité)
salut a tout le monde................. ymca2003 pouvez vous me donner les configs que tu utilise pour que ca marche Merci
Il n'y a pas de configuration particulière, il faut simplement que l'emetteur et le récepteur ai la même. Si la liaison se fait avec ce prog des 2 cotés, supprime le fichier serial.ini avant de lancer le prog pour réinitialiser la config.Si la liaison se fait avec un autre prog, il faut supprimer le contrôle de flux.la config par défaut est 4800 baups, 8 bits de données 1 bit de stop et pas de parité.
ohh Merci beaucoup pour votre aide ca a marcher c'est parfe mais je veut savoire comment on transfere un fichier et a quoi serre les commande F1...
pour transférer un fichier : -"Transfert->Envoyer un fichier"-sélectionner le fichier à envoyer.- dans la boîte de dialogue, cocher écho pour que le contenu tu fichier envoyé s'affiche dans la zone d'emission (utilse pour fichier textes).- cliquer sur envoi.- pendant l'envoi Pause/ reprise- Arret complet possible.les commandes F1... permettent d'enregistrer des commandes perssonnelles accessible par raccourci (calquer sur terminal de windows).
Merci infiniment vraiment je ne trouve pas les mots pour decrire votre super inteligence t'es le meilleure ...... on attend avec impatience votre prochain prog bon courage
Félicitation, ça marche super sous 98. je viens d'essayer à l'instant sur XP mais ça ne marche pas : normal ?merci et continue comme ça
Oui j'ai eu des messages concernant le pb sous XP, je vais tenter de voir ça ce WE.
Voilà maintenant ça marche sous XP.
Bonjour Bonjour!!!!je sui vraiment tres interessé par cette application, mais cependant, il est impossible de télécharger le zip AIDEZ moi !!!!Renvoyez moi SVP ce prog qui a l'air de tout déchirer ! !! mikaelgarre@free.frsvp un ptit clic et vous me sortez de la galère ...Merci Merci Merci ! ! ! !
Merci beaucoup !Cette source est vraiment super, et elle va me permettre de résoudre un problème que j'avais avec les lectures.Encore merci à toi.10/10
merci merci ça va me sauver la vie
Bonjour,Je dois réaliser un projet dont une parite est basée sur la transmission avec le port série.En utilisant ton programme j'ai réussi avec du mal à écrire sur le port série.Par contre je n'arrive pas à recevoir les infos en retour.Peux tu m'expliquer comment je peux faire ou déposer des trucs plus "simple" sur le site?Merci d'avance Minimoi
j'ai déposé récemment une version "allégée" :http://www.cppfrance.com/code.aspx?ID=22441
Salut tout le monde et merci pour la source.Juste une question comment fait-on pour insérer des caractères de contrôle comme STX et ETX?
C'est quoi ? Jamais entendu parlé.
Ben dans le code ascii il y a des caractères visuels ( les lettres...) et les caractères de contrôle ( STX= start of text, ETX= end of text,....)Pour commander un multiplexeur video je dois envoyer des signaux commançant par STX et finissant par ETX.
http://www.asciitable.com/char STX = 2;char ETX = 3;utilise un strcat pour ajouter ces deux caractères en début et en fin de ton tableau de char, non?
En effet c'est caractères spéciaux ne peuvent pas être envoyés directement avec ce prog, il faut passer par un fichier (Je vais voir si ça vaut le coup de les rajouter dans les commandes personalisables avec les autres caractère spéciaux)
Excellent comme petit programme...il m'a permi de bien saisir les message queue et threads ! c bien cool...surtout que c'est pour un travail de fin d'études et que je n'ai plus bcp de tps à y consacrer (exams obligent !)....Cependant, juste une ptite question...j'ai essayé par moi même de refaire une application utilisant MFC (pour profiter de CString !) et la fonction WaitCommEvent m'embête !!! Elle ne veut pas s'arrêter qd je n'utilise par OVERLAPPED --> mon thread tourne tjs même si l'application est fermée ! Et encore pire si je reset les mask d'évenements !!! Application bloquée totalement !==> Mes questions : * à quoi sert au juste la structure OVERLAPPED (asynchr d'accord...ms c'est pas très clair tout ca !) * Comment faire pour arrêter le thread ou WaitCommEvent qd il faut....car j'aimerais pouvoir aussi envoyer des données !!!Encore merci de nous faire profiter de vos connaissances (comments ds le code excellent et clair !!!)...En tt cas ca m'a particulèrement aidé ds mon travail de fin d'étude...Sans cela j'étais (excusez moi du terme)...dans la merde ! ;)Aksl (fa101414@skynet.be)
justement le flag OVERLAPPED sert à cela car sans ce falg sous XP la fct WaitCommEvent ne s'arrete pas même si un autre thread fait un reset des masque. La première version que j'avvais n'utilisait pas ce flag et sous XP, cela bloquait (et je sais pas pourquoi). ainsi, l'utilsation de ca flag complique le code car de toute façon j'attends à chaque fois que les opération sur les ports soient finies
Programme tres interessant. J ai pourtant un petit probleme lorsque je tente de changer la configuration du Port. Seul le port Com1 est disponible. Mon Mobile est pourtant connecte au com7.As tu une soluce ?Cela peut il provenir du fait que mon Com7 est un port USB ?
Aksl, si tu veux les avantages de CString sans les désavantages pesants des MFC, utilise <string> de l'espace de nom std, c'est une librairie standard portable au moins, et parfaitement fiable :)
bonjourj ai essayé de comprendre comment marchait le prog mais y a trop de trucs et je suis pas assez calé en C pour suffisamment défricher les lignes de code (j ai fait que 3 mois de cours)donc si y avait quelqu'un d assez sympa pour me dire ou trouver un prog + simple (j espere que c possible) ou de l envoyer sur le forum ca serait sympapar exemple qqch qui affiche seulement quelque part les bits envoyés par le port série vers l ordisi je commence par comprendre ca ca sera déjà bienmerci d avance
salut, si tu veux comprendre le fonctionnement de la transmission série (transmission des bits, etc) à part l'oscilloscope, tu n'as po bcp de moyens sur le PC puisque tt est géré par une puce (l'UART - universal asynchronous receiver transmitter)...Pour ce faire, je te recommande des lire des livres de télécommunications qui parlent de RS232C et norme V29 (pr ton port COM) ainsi que de l'UART.Si tu veux mieux comprendre les fonctions utilisées pour l'envoi et la réception, réfère toi à la documentation MSDN sur les WIN32 API Comm (Communication ressources - Windows SDK Hardware)Ce sont uniquement des fonctions mises à disposition par le driver de ton port série (on ne joue po à la programmatio comme sur un microcontrôleur !).Pour ce qui est du prog plus simple ymca2003 à mis à dispo un soft plus allégé et il me semble ne reprenant la gestion de l'interface windows (c'est un soft console si je me souviens bien ! on évite le C++, les API des interfaces GUI, etc)...car ce qui paraître dur à saisir la dedans, c tout le plaisir de la programmation graphique Windows ! :) (je suis sur que bcp ne me contredirons po !)...Enfin, bon amusement !!!Aksl
ton prog il est genial mais je voudrai savoir comment reconstituer un fichier lors de sa reception.merci
il suffit de rajouter à la fin du fichier ce que tu viens de recevoir, ou alors j'ai pas bien comprris la question !
salut,salut ymca au fait j'ai essaye le prog allege que t'a conseille a julien et au fait j'ai qlq questions:au fait je veux envoyer et recevoir des trames: STX/DONNEES/ETX pour pouvoir piloter une machine .le probleme ce que avec ton prog je sais pas si je dois les envoyer en hexa en ascii ..car chaque caractere est vu par la prog comme un octet et d'autre part j'arrive pas a recuperer les trames recue en tps reel et j'arrive pas a savoir ce que j'ai recu aussi car le prog me donne juste le nbre d'octet seulement .si tu peux m'eclairer ?merci d'avance et bonne journee
c moi encore j'ai un project à faire dans un stage, il consiste à faire passer des trames à une machine de coupe via le RS232 cependant je ne recoit pas les chaine quel recoit meme avec les fonction de lecture, dans ton application ca marche,si tu a des truc à me filer sauve moi.
Excellent le coup du static en URL. Jusque la je me servais de TrackMouseEvent pour les mouse_over et autre. Ta methode est plus legère! Juste un detail, je prefere repondre à WM_LBUTTONUP plutot que WM_LBUTTONDOWN... mais chacun son truc!
Salut, merci pour ce code qui me permettra de trouver un peu d'inspiration pour la réalisation de mon projet en Bts IRIS en effet, je dois réaliser l'envoi de trames RS232 sur un pic 16f877 ce que je réussi à faire par l'hyper terminal de windows mais très difficilement par builder c++.
bonjour,exellent programme,j'ai testé votre applicationavc un modem,pour la recupération des alarmes à distance ,et ca marche bien,l'application marche trés bien avc la reception,mais avc l'emission ca marche pas,je dois tout d'abord établir la liaison avc un équipementGSM connécter avc un modem mobile,et je ne sais pas comment faire pour établir cette connection entre les deux modem???
bonjour,je suis nouveau icij'ai a faireune serveur de messagerie vocazle avec TAPI utilisant c++ ou c#j'ai pas trouver la bibiothecque RsComm.hsi vous pouvez m'aidermerci d'avance
bonjour et merci pour ta source, elle d'une grande utilité,je voulais juste te demander comment envoyer des commandes AT, car quand je fais ATmachintruc, il me répond error, je ne sais pas si ça vient de l'expression ou alors du numéro que je donne, car en effet celui-ci est un numéro interne donc sur 12 chiffresmerci d'avance
Déjà si tu as une réponse du modem c'est bon signe.Ensuite, il faut peut-être l'initialiser avec des commandes spéciales avant de faire quelque chose.Envoi un AT simple si tu as Error en retour il y a un pb coté modem.
bonjour j'ai une demande un peu particulière, j'utilise des capteurs branché sur port serie Com 1 et 4. ils sont géré par thread . ca marchait super bien sur CE mais je suis passé sur embedded XP et maintenant la com arrive à me planter de chez planter mes capteurs c'est à dire que mon capteur ne dialogue plus dutout . j'ai bien sur fait attention au : aprè la definition des com (càd com1: -> com1) savez vous si il y une différence fondamentalle sur la gestion de com ? parce que ca me faite vraiment chier merci @ ++
bonjour a tous,voila je voudré savoir je dois programmer en c++ des servomoteurs branchés en série. est-ce que ton programme peut-il m'aider. sinon il y a-t-il quelqu'un qui peut m'aider??merçi. a++
ce programme permet d'envoyer/recevoir des informations ecrites en codage ascii sur le port série. Normalement un servomoteur est controlable/programmable via un RS232 donc il est possible d'envoyer des informations. le hic vient du fait que tu es limité a 8 bit d'envoie dans la trame(un caractère ASCII) et que tu n'a rien pour compiler le prog a l'intérieur du microproc de ton servomoteur. J'ai eu le même probleme que toi concernant l'asservissement d'un mcc. Essaies de fouiller dans le cafarnaum qu'est abcelectronique tu devrais pouvoir trouver quelques informations complémentaire(pas de code evidemment) mais tout de même utile pour connaitre la démarche a suivre. Personnellement j'ai programmé mon moteur grace a un galet de microchips(ca marche seulement si ton microproc est un PIC) et microchip lab.
Bonjour, super prog qui marche nickel. Je doit envoyer des caractères sur une centrale d'acquisition qui me renvoit une séquence.Je cherchais depuis un moment comment faire et tu m'y a aidé...ton prog fait bien ce que je recherche.MAIS...AU SECOURS...je suis nouveau venu au monde du Visual C++ 6(Visual Basic, m'est plus connu)J'ai déjà une applis basée sur des boites de dialogues MFC et j'aurai voulu y intégrer l'acquisition par la RS 232. Ton prog est très complet, trop pour mon usage et je n'arrive pas à faire le tri de ce que j'ai besoin. j'ai essayé bêtement d'intégrer les deux fichiers Comm et CommManager dans mon projet, mais il m'insulte (erreur end of file expected).J'ai essayé le code simplifié (http://www.cppfrance.com/code.aspx?ID=22441) mais y me manque le thread de lecture et là j'y connait rien.En bref, j'ai juste besoin d'envoyer une séquence de caratère et de récupérer le retour dans une variable que je post-traite.Merci de ton aide.
il faut rajouter #include "sdtafx.h" en premier include de tous les fichiers sources.
MERCI....MERCI....MERCI.....Et en plus ça marche.Le prog que je réalise est pour mon boulot (RATP), mais il est bien entendu que je cite mes sources dans les progs et dans la boite de dialogue à propos.Une dernière petite chose qui ne fonctionne pas : la fonction PathRenameExtension m'insulte à la compilation (unresolved external symbol __imp__PathRenameExtensionA@8). J'ai du oubler quelque chose, mais quoi.
Il faut ajouter la librairie shlwapi.lib dans les options du linker.
salut ymca 2003,je me rajoute a la longue liste de compliment qui t'a été formulé ...je travaille en visual studio.net2003 ,pense tu qu'il est possible d'envoyer une image bitmap 24 bits sur ton port serie merci d'avance .seb
bonjour, j'ai regarder pour la lecture, donc la fonction ReadFile est appellé par le thread de réceptioncode de la fonction de lecture:if(!ReadFile(hComm,buf1,dwtoRead,&dwRead,&ov1)){ if(GetLastError()==ERROR_IO_PENDING) { DWORD dwResult; while(!GetOverlappedResult(hComm,&ov1,&dwResult,true)){ } }}pourquoi si je fais la gestion des erreurs tels que je l'ai mis dans le code, le programme ne passe jamais sur GetLastError , pourtant Readfile peux retourner même si l opération n'est pas accomplie??tandis que la gestion des erreurs fonctionne pour Writefilemerci bcp de votre aide,
Du moment que tu récupère des octets, c'est pas grave que ça passe jamais par GetLastError.En fait vu que j'attend que des octets arrive par WaitCommEvent, la fonction ReadFile va normalement retourner immédiatement avec les octets qui sont arrivés.C'est pas parce que je gère les cas d'erreur que c'est obligé que ça y passe...
un grand merci
Salut les gars il a l'air vraiment génial ce prog merci pour le source.Ma question est la suivante je dois envoyer une commande en hexa via RS232 quelqu'un pourrait il me dire si je peut directement envoyer ma commande en hexa.Voila le protocole qui met demandé de respecter pour envoyer des commandes a mon matériel : exemple de cmd :0xFF 0xC0 0x4D 0c7F
désolé j'écris trop vite et j'ai tendance à ne pas me relirema commande : 0xFF 0xC0 0x4D 0x7F
Hello tousFélicitations pour ce code, il me fait gagner du temps. Et puis ... pourquoi réinventer la roue ? :)Il est possible d'envoyer d'importe quel caractère à partir de la fenêtre d'émission: Vous ne vous êtes jamais servi de la touche ALT pour les caractères spéciaux? ALT+0169 --> Affiche un © dans n'importe quel contrôle de saisie :) ALT+0255 --> Envoi d'un \xFF, etc. sauf pour \x00 (zéro terminal des chaine?)C.B++
Pas facile à comprendre toutes ces lignes de programmes. Je veux créer une application un peu particulière :Fenêtre du haut : réception des messagesFenêtre du milieu : émission des messagesFenêtre du bas : préparation du messagePour envoi du message action sur une touche spéciale (ALT F1 par exemple)Le message tapé après avoir été corrigé, monte dans la fenêtre centrale et est envoyé directement sur la sortie série.Autre chose, petite astuce si vous voulez tester le fonctionnement du programme : utiliser un connecteur femelle 9 broches, relier 2 et 3 puis relier à COM1 par exemple :Les caractères que vous taperez apparaîtront dans la fenêtre du bas.Cordialement et merci encore à YMCAAlain
hicham aboulfath un grand merci
ouhhh cet outil va m'être TRES utile !!!!merci et BRAVO !!!
Bonjour a toutes et a tous!!!Tout d'abord félicitation a YMCA2003 pour cette source.J'ai télécharger le zip et commencé a vouloir recompilé le source pour pouvoir apres le modifié pour mon application.Mais a la compilation, celui-ci me dit:[Linker error] undefined reference to `_imp__StrFormatByteSizeA@12' [Linker error] undefined reference to `SetTextColor@8' [Linker error] undefined reference to `_imp__PathSetDlgItemPathA@12' [Linker error] undefined reference to `_imp__StrFormatByteSizeA@12' [Linker error] undefined reference to `GetStockObject@4' [Linker error] undefined reference to `GetOpenFileNameA@4' [Linker error] undefined reference to `InitCommonControls@0' [Linker error] undefined reference to `SetBkMode@8' Autre chose, le port COM avec lequel je souhaite communiquer est le numéro 13, or, dans ton application, on ne peut choisir qu'entre les port COM1 et COM2.Quelqu'un saurait-il comment corrgier tout cela?Merci d'avance pour votre aide++
salut ,deja merci pr ta source qui est tres bien faite, il faut dire!je souhaiterais juste quelques commentaires sur la partie du thread "ReadThreadFunc"et notamment sur la création d'evenement et sur la fonction GetOverlappedResult...je ne suis pas sur de bien saisir l'interet de ces fonctions ...est on en mode bloquant? lors de la lecture? lors de l'atente de l'evenement?merci de me repondre ici ou en privé svp... si t'as le tps bien sur!
Salutation. pour envoyer des données en héxa y a qq chose prévu?
bonjour,est il possible de recuperer les données de la zone reception sous excel sans passer par "copier/coller"?
M. chakib Lautfi responsable ressource humaine valeo M. chakib Lautfi responsable ressource humaine valeo
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte