Sous
windows (uniquement windows.h) j'arrive à trouver le port par son nom virtuel ( LTP2 et COM4 étant inexistant ils sont NULL ).
L'écriture apparemment serait bonne. Mais au final il n'y a rien d'écrit ( dwNumWritten reste null ) et il faut
attendre 50s !!!
Surement un problème d’acquittement car le port n'est branché à rien. Donc au bout de 50s le port considérerait qu'il a bien envoyé le poids, sans en être sur ?
Enfin je n'en sais rien. Mes connaissances en électronique remonte à un bac électronique il y a 5ans ...
En image :
[IMG]http://img820.imageshack.us/img820/4458/coadapusb.png[/IMG]
Uploaded with
ImageShack.us
Le code :
[quote=code]
#include
#include
using namespace std;
int main()
{
HANDLE hFile[4];
bool Success ;
hFile[0] = CreateFile("LPT1", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
hFile[1] = CreateFile("COM3", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
hFile[2] = CreateFile("LPT2", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
hFile[3] = CreateFile("COM4", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
cout " " " " << hFile[3] << endl ;
char buffer[8];
buffer[0] = 1 ;
buffer[1] = 0 ;
buffer[2] = 0 ;
buffer[3] = 0 ;
buffer[4] = 0 ;
buffer[5] = 0 ;
buffer[6] = 0 ;
buffer[7] = 0 ;
DWORD dwNumWritten;
Success = WriteFile(hFile[0], buffer, strlen(buffer), &dwNumWritten,NULL);
cout << "OK ? "<< Success << " - " << dwNumWritten << endl;
/* for(int i = 0 ; i < 100 ; i++)
{
buffer[0] = !buffer[0] ;
Success = WriteFile(hFile[0], buffer, strlen(buffer), &dwNumWritten,NULL);
}*/
return 0;
}
[/quote]