Connexion RS232

wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005 - 18 janv. 2005 à 17:30
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005 - 20 janv. 2005 à 20:36
salut a tous
desolee si vous avez deja discute de ce sujet mais je suis une nouvelle sur le site. au fait je suis une debutante en c++, j'ai eu a faire un cours de familiarisation; actuelleement je dois creer une connexion RS232 sur mon ordinateur portable (qui ne possede malheureusement qu'un port USB) afin de communiquer avec un autre ordinateur. il parait qu'il existe un code deja; Aidez-moi car c'est tres urgent, merci infiniement. Si le code est deja sur le site, veuillez svp me communiquer le lien.
j'attends impatiemment vos reponses, merci et bonne journee

16 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 janv. 2005 à 18:15
2 exemples chez moi

la base en Win32 :
http://www.cppfrance.com/code.aspx?id=22441

un prog + complet qui permet de faire un transfert de fichiers :
http://www.cppfrance.com/code.aspx?id=18704

autres sources :
http://www.cppfrance.com/code.aspx?ID=23560

Si ton PC n'a pas de port COM RS232 tu pourra pas faire grand chose avec ces codes (il y a bien des convertissueurs USB-RS232 mais je sais pas si ça marche très bien...)
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
18 janv. 2005 à 18:21
merci bcp ymca2003; malheureusement mon laptop ne dispose pas de port RS232; il existe en effet des convertisseurs USB-RS232, j'en ai meme mais le probleme est qu'on m'a demande de programmer une interface sur le laptop pour permettre une liaison RS232 avec un PC
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 janv. 2005 à 18:26
Je comprend pas trop ce que tu veux faire. Tu faire faire une connexion RS232 (ce que les progs que j'ai fourni permettent) sans port RS232 sur le PC portable mais en passant par le port USB ?
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
18 janv. 2005 à 18:42
je veux en effet configurer mon laptop de telle sorte qu'il puisse posseder un port RS232; ainsi donc je pourrai faire une liaison RS232 avec un PC qui possede deja un port RS232
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
18 janv. 2005 à 18:47
excuse moi ymca si je mes questions ne sont pas claires(je n'y connais malheureusement pas grand chose a la programmation); je dispose en effet d'un convertisseur USB-RS232 mais il faudra le configurer pour permettre la liaison entre mon laptop et le PC, c'est donc cela; je cherche un code pour realiser cette configuration; merci infiniement pour la preoccupation
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 janv. 2005 à 18:47
Il va falloir écrire un driver pour simuler un port RS232 à rediriger sur USB (aucune idée de la façon de le faire).


Si tu as déjà des convertisseurs USB-RS232, ils doivent fournir de tels drivers qu'il suffit d'installer et d'utiliser le port COM virtuel qu'il ont ajouté au gestionnaire de périphériques comme s'il s'agissait d'un port normal avec les progs que je t'ai signalé (ou d'autres).
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
18 janv. 2005 à 19:03
merci bcp ymca, je verrai bien
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
18 janv. 2005 à 19:50
ymca, au fait j'ai deux messages d'erreur avec le premier programme que tu m'as envoye; cela concerne les fonctions WriteCOM et WriteFile; les codes d'erreur sont:
'WriteCOM' : cannot convert parameter 3 from 'int *' to 'unsigned long *'
'WriteFile' : cannot convert parameter 4 from 'int *' to 'unsigned long *'

j'ai donc change la definition de ces parametres en unsigned long mais cela n'arrange pas le probleme; as-tu une idee stp?
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
18 janv. 2005 à 23:07
salut ymca, encore et toujours moi; desolee de trop t'embeter; en fait j'ai reussi a regler le probleme concernant int et unsigned long; j'ai retrouve sur le site un endroit ou tu l'expliquais
mon probleme maintenant c'est concernant le deuxieme programme que tu m'as donne; la compilation se fait sans erreur et au moment de l'execution j'ai plusieurs erreurs qui sont de meme type: les voici: "24 unresolved externals"; sais-tu le probleme en question? merci beaucoup d'avance ymca
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 janv. 2005 à 09:20
Les erreurs ne seraient pas plûtot lors du linking (édition de liens). dans ce cas il doit manquer des lib dans les options du projet (quel compilo utilise-tu, dev-cpp, visual c).

Si les erreurs sont bien à l'exécution alors il y a un gros pb car le prog n'utilise que les API windows...

Danns tous les cas, met la description des erreurs pour aider.
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
19 janv. 2005 à 15:13
j'utilise le compil visual c++ 6.0; au fait en faisant l'execution, on me demande si je veux construire le fichier et j'accepte, alors je recois plein d'erreurs; les voici donc:
--------------------Configuration: MainFrame - Win32 Debug--------------------
Linking...
MainFrame.obj : error LNK2001: unresolved external symbol "struct HINSTANCE__ * g_hAppInstance" ([mailto:?g_hAppInstance@@3PAUHINSTANCE__@@A ?g_hAppInstance@@3PAUHINSTANCE__@@A])
MainFrame.obj : error LNK2001: unresolved external symbol "void __cdecl FctBar_GetDescr(int,char *)" ([mailto:?FctBar_GetDescr@@YAXHPAD@Z ?FctBar_GetDescr@@YAXHPAD@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "void __cdecl FctBar_GetCmd(int,char *)" ([mailto:?FctBar_GetCmd@@YAXHPAD@Z ?FctBar_GetCmd@@YAXHPAD@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "struct HWND__ * g_hWndMainFrame" ([mailto:?g_hWndMainFrame@@3PAUHWND__@@A ?g_hWndMainFrame@@3PAUHWND__@@A])
MainFrame.obj : error LNK2001: unresolved external symbol "public: int __thiscall TCommManager::Connect(void)" ([mailto:?Connect@TCommManager@@QAEHXZ ?Connect@TCommManager@@QAEHXZ])
MainFrame.obj : error LNK2001: unresolved external symbol "public: int __thiscall TCommManager::Load(char const *)" ([mailto:?Load@TCommManager@@QAEHPBD@Z ?Load@TCommManager@@QAEHPBD@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "public: __thiscall TCommManager::TCommManager(struct HWND__ *)" ([mailto:??0TCommManager@@QAE@PAUHWND__@@@Z ??0TCommManager@@QAE@PAUHWND__@@@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "int __cdecl FctBar_Load(char const *)" ([mailto:?FctBar_Load@@YAHPBD@Z ?FctBar_Load@@YAHPBD@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "char * g_szIniFileName" ([mailto:?g_szIniFileName@@3PADA ?g_szIniFileName@@3PADA])
MainFrame.obj : error LNK2001: unresolved external symbol "struct HWND__ * __cdecl FctBar_Create(struct HWND__ *)" ([mailto:?FctBar_Create@@YAPAUHWND__@@PAU1@@Z ?FctBar_Create@@YAPAUHWND__@@PAU1@@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "public: int __thiscall TCommManager::SendData(void *,unsigned long,int)" ([mailto:?SendData@TCommManager@@QAEHPAXKH@Z ?SendData@TCommManager@@QAEHPAXKH@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "public: int __thiscall TCommManager::Save(char const *)" ([mailto:?Save@TCommManager@@QAEHPBD@Z ?Save@TCommManager@@QAEHPBD@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "public: int __thiscall TCommManager::Disconnect(void)" ([mailto:?Disconnect@TCommManager@@QAEHXZ ?Disconnect@TCommManager@@QAEHXZ])
MainFrame.obj : error LNK2001: unresolved external symbol "int __cdecl FctBar_Save(char const *)" ([mailto:?FctBar_Save@@YAHPBD@Z ?FctBar_Save@@YAHPBD@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "public: __thiscall TCommManager::~TCommManager(void)" ([mailto:??1TCommManager@@QAE@XZ ??1TCommManager@@QAE@XZ])
MainFrame.obj : error LNK2001: unresolved external symbol "void __cdecl DlgSendFile_Notify(unsigned int,long)" ([mailto:?DlgSendFile_Notify@@YAXIJ@Z ?DlgSendFile_Notify@@YAXIJ@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "void __cdecl DlgReceiveFile_Notify(unsigned int,long)" ([mailto:?DlgReceiveFile_Notify@@YAXIJ@Z ?DlgReceiveFile_Notify@@YAXIJ@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "char * g_szAppName" ([mailto:?g_szAppName@@3PADA ?g_szAppName@@3PADA])
MainFrame.obj : error LNK2001: unresolved external symbol "int __cdecl DlgCommConfig_Create(struct HWND__ *)" ([mailto:?DlgCommConfig_Create@@YAHPAUHWND__@@@Z ?DlgCommConfig_Create@@YAHPAUHWND__@@@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "int __cdecl DlgSendFile_Create(struct HWND__ *,char const *)" ([mailto:?DlgSendFile_Create@@YAHPAUHWND__@@PBD@Z ?DlgSendFile_Create@@YAHPAUHWND__@@PBD@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "int __cdecl DlgReceiveFile_Create(struct HWND__ *,char const *)" ([mailto:?DlgReceiveFile_Create@@YAHPAUHWND__@@PBD@Z ?DlgReceiveFile_Create@@YAHPAUHWND__@@PBD@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "int __cdecl DlgFctCfg_Create(struct HWND__ *)" ([mailto:?DlgFctCfg_Create@@YAHPAUHWND__@@@Z ?DlgFctCfg_Create@@YAHPAUHWND__@@@Z])
MainFrame.obj : error LNK2001: unresolved external symbol "int __cdecl DlgAbout_Create(struct HWND__ *)" ([mailto:?DlgAbout_Create@@YAHPAUHWND__@@@Z ?DlgAbout_Create@@YAHPAUHWND__@@@Z])
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/MainFrame.exe : fatal error LNK1120: 24 unresolved externals
Error executing link.exe.


MainFrame.exe - 25 error(s), 0 warning(s)

voila donc la liste des erreurs, merci infiniement ymca, j'attends ta reponse
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 janv. 2005 à 16:09
Déjà c'est pas normal que le nom du projet soit MainFrame.

Il faut se servir du workspace du zip (serial.dsw) et l'ouvrir dans visual puis faire un rebuild all.

Il ne faut pas simplement ouvrir le fichier mainFrame et faire build car il va créer un nouveau projet avec seulement ce fichier (il manquera évidement les autres).

Tu peux partir d'un nouveau projet vide mais il faudra ajouter tous les fichiers (*.h, *.cpp, *.rc) puis ajouter quelques lib dans les options du projet.
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
19 janv. 2005 à 16:49
t'es un genie ymca, excuse mon ignorance, c'est mon tt debut; merci bcp, je n'ai plus de messages d'erreurs; je vais donc essayer de faire la communication, je te donnerai des nouvelles et j'aurai surement besoin d'aide encore; merci infiniement, DIEU te benisse
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
19 janv. 2005 à 21:49
ymca, je veux utiliser le programme precedent et l'agencer au modbus; j'ai pu trouver un programme sur le net concernant le mobbus; voici le lien: http://pvbrowser.sourceforge.net/manual/rllib/rlmodbus_8cpp-source.html#l00352

j'ai donc compile le programme (en ajoutant les fichiers inclus bien sur) et j'ai le meme probleme de linking; les voici:

--------------------Configuration: rlmodbus - Win32 Debug--------------------
Linking...
rlmodbus.obj : error LNK2001: unresolved external symbol "public: int __thiscall rlSerial::writeBlock(unsigned char const *,int)" ([mailto:?writeBlock@rlSerial@@QAEHPBEH@Z ?writeBlock@rlSerial@@QAEHPBEH@Z])
rlmodbus.obj : error LNK2001: unresolved external symbol "public: int __thiscall rlSocket::write(void const *,int)" ([mailto:?write@rlSocket@@QAEHPBXH@Z ?write@rlSocket@@QAEHPBXH@Z])
rlmodbus.obj : error LNK2001: unresolved external symbol "public: int __thiscall rlSocket::connect(void)" ([mailto:?connect@rlSocket@@QAEHXZ ?connect@rlSocket@@QAEHXZ])
rlmodbus.obj : error LNK2001: unresolved external symbol "public: int __thiscall rlSocket::isConnected(void)" ([mailto:?isConnected@rlSocket@@QAEHXZ ?isConnected@rlSocket@@QAEHXZ])
rlmodbus.obj : error LNK2001: unresolved external symbol "public: int __thiscall rlSerial::readBlock(unsigned char *,int)" ([mailto:?readBlock@rlSerial@@QAEHPAEH@Z ?readBlock@rlSerial@@QAEHPAEH@Z])
rlmodbus.obj : error LNK2001: unresolved external symbol "public: int __thiscall rlSerial::readChar(void)" ([mailto:?readChar@rlSerial@@QAEHXZ ?readChar@rlSerial@@QAEHXZ])
rlmodbus.obj : error LNK2001: unresolved external symbol "public: int __thiscall rlSerial::select(int)" ([mailto:?select@rlSerial@@QAEHH@Z ?select@rlSerial@@QAEHH@Z])
rlmodbus.obj : error LNK2001: unresolved external symbol "public: int __thiscall rlSocket::read(void *,int,int)" ([mailto:?read@rlSocket@@QAEHPAXHH@Z ?read@rlSocket@@QAEHPAXHH@Z])
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/rlmodbus.exe : fatal error LNK1120: 9 unresolved externals
Error executing link.exe.


rlmodbus.exe - 10 error(s), 0 warning(s)

j'ai suivi ton explication precedente et j'ai donc cree de nouveaux fichiers mais je ne comprends pas pourquoi il y a ce probleme de link; j'ai donc besoin de tes precieux conseils, avec le lien si cela ne te derange pas tu peux essayer de compiler et voir si tu as les memes problemes merci bcp
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
20 janv. 2005 à 09:22
Il manque :
- soit des fichiers .cpp à inclure au projet
- soit un fichier .lib à rajouter dans les options du projet, catégorie link, case Objects/library modules.

Il manque également un programme principale avec main. S'il y a un WinMain quelque part dans le programme, alors il faut créer un nouveau projet Win32 mais pas console.
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
20 janv. 2005 à 20:36
merci bcp ymca
0