Bonjour à tous.

J'ai actuellement quelques problemes avec mon port série, il me fait des siennes. On s'entend mal en ce moment

Mon but est de faire un hyperterminal-like

Donc j'envoie des données sur un port série, des qu'un caractere est detecté avec kbhit() on envoie. Maintenant j'aimerais lire le caractere de l'autre coté en "live" si je puis dire.

Voila un bout de mon code concernant mon problème.

Code C : 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
     /* boucle tant que l'on ne quitte pas */
     do
     {
		     /* menu */
		     printf("\r\n");
		     printf("1 : Envoyer des donnees.\r\n");
		     printf("2 : Recevoir des donnees.\r\n");
		     printf("3 : Quitter.\r\n");
		     printf("Choix : ");
		     scanf("%d", &nChoice);
 
		     /* enoyer des données */
		     if(nChoice == 1)
		     {
			     printf("\r\n");
			     printf("Donnees a envoyer :\r\n");
			     fflush(stdin);
			     //gets(buffer);
			     //printf("\r\n");
			     //printf("Envoi des donnees...\r\n");    
			     sprintf(NomPort,"COM1",NoPort);
			   	 hCom=CreateFile(NomPort,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING ,0,NULL);
			   	 scanf("%c",&octet);
 
			     while(kbhit())
			     {                  
					buffer=getch();
				    WriteCOM(buffer, strlen(buffer), &nBytesWritten)
			     }
			     //printf("%d octet(s) envoye(s).\r\n", nBytesWritten);
			     //else
			     //printf("Erreur lors de l'envoi.\r\n");
		     }
 
		     /* recevoir des données */
		     if(nChoice == 2)
		     {
			     printf("\r\n");
			     printf("Reception de donnees...\r\n");
			     if(ReadCOM(buffer, sizeof(buffer)-1, &nBytesRead))
			     {
				     buffer[nBytesRead] = '\0';
				     printf("%d octet(s) recu(s) :\r\n%s\r\n", nBytesRead, buffer);
			     }
				else
				     printf("Erreur lors de la réception.\r\n");
			}
		}while(nChoice != 3);