Bonjour,

je souhaiterai avoir un exemple de programme en C++ pour envoyer un caractère dans un premier temps, plusieurs dans un second.
J'ai entendu parlé de la fonction "WriteFile"

Mon but est d'envoyer via liaison série RS232 des caractères venant d'un premier PC, reçu et lu par Hyperterminal sur un second PC.

Voici un premier programme réalisé, mais qui ne fonctionne pas. Avec un exemple ou une correction à apporter ?

Code Programme : 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
 
/**************************************************************************\
*                                                                                                                                                  *
*          Exemple d'utilisation des lignes d'entrée/sortie du port série        *
*                                                                                                                                                  *
*                                                                                                                                                  *
*                                                                                                                                                  *
*                                   by gg                                                          *
*                                                                                                                                                  *
\**************************************************************************/
 
 
#include <windows.h>
#include <iostream>
 
using namespace std;
int main(void)
{
 
// On crée un handle que l'on initialise à NULL.
HANDLE SPort=NULL;
DWORD Event;
COMMCONFIG tR;
 
 
 
    // Sport est un handle ( identifiant )
	// Pour mieux comprendre les paramètre passés
	// consultez la fonction CreateFile();
	SPort = CreateFile("COM4",
					   GENERIC_READ | GENERIC_WRITE,
					   0,
					   NULL,
					   OPEN_EXISTING,
					   0,
					   NULL);
	// Le handle sera le lien entre notre apllication
	// et le port série.
	// Ici ce sera le port indiquédans le tableau COM déclaré au début qui sera ouvert.
 
	if ( SPort == INVALID_HANDLE_VALUE )
	{
		cout << "Le port selectionne ne peut etre ouvert ou l'est deja" ;
		return 0;
	}
 
 
	// Vérification de parité désactivée
	tR.dcb.fParity=NOPARITY;
	// La taille du mot donnée est de
	tR.dcb.ByteSize=8;
	// Un bit de stop
	tR.dcb.StopBits=ONESTOPBIT;
	// désactive les Xon-Xoff
	tR.dcb.fInX=FALSE;
	tR.dcb.fOutX=FALSE;
	// Configuration du BaudRate
	tR.dcb.BaudRate= CBR_9600;
 
	// Enregistrer les modifications apportées
	// au paramètres Xon-Xoff
	SetCommConfig(SPort, &tR, sizeof(tR));
	// On remplit la strucuture COMMTIMEOUTS
	COMMTIMEOUTS tMyTimeOuts =  {
	100,
    0,
    0,
    1000,
    1000
    };
 	 //Enregistre les modifications concernant le CommTimeouts
	if (!SetCommTimeouts(SPort, &tMyTimeOuts) )
	{
		MessageBox(0,"Erreur de configuration","Erreur",MB_OK);
		return 0;
	}
 
	unsigned char buffer;
	DWORD nb;
	int data[50],nombre;
	int j,i;
    i='f';
    buffer=i;
		//ReadFile(SPort,&buffer,1,&nb,0);
		//writefile pour envoyer une donnee
    WriteFile( SPort,&buffer,1,&nb,0);
    cout<<"ok"<<endl;
}
	return 0;
}