Bonjour,
J'essaye de créer une application qui communique avec le port série dont le coe est le suivant :
ComManager.h
ComManager.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class ComManager { public: ComManager() { } private: LPCTSTR comPort ; public: void setComPort(char * newComPort); LPCTSTR CaxMeter::getComPort(void); bool ovrirPortCom(void) };
Fichier contenant la classe Main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #include "stdafx.h" #include <iostream> #include "ComManager.h" void ComManager::setComPort(char * newComPort) { comPort = (LPCTSTR)newComPort; } LPCTSTR ComManager::getComPort(void) { return comPort; } bool ComManager::ovrirPortCom(void) { // Create handle hCom = CreateFile(comPort, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hCom == INVALID_HANDLE_VALUE) {std::cout << "INVALID_HANDLE_VALUE"<< std::endl; return false; } else{ return true; } }
Je ne comprends pas pourquoi j'obtiens toujours l'erreur INVALID_HANDLE_VALUE? Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include "stdafx.h" #include "ComManager.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { ComManager* c = new ComManager(); c->setComPort("COM1"); cout << (char *)c->getComPort()<< std::endl; if(c->OpenCom()){ cout << (char *)c->getComPort()<< std::endl; } else{ cout << "erreur"<< std::endl; } cin.get(); return 0; }
Partager