Salut,
je souhaite transmettre des trames à une carte par liaison série
la première chose à faire est donc de vérifier sa présence en envoyant 0xAA et la carte revoie 0xAA
mais le soucis c'est que lorsque j'affiche la trame envoyer j'obtiens FFFFFFAA
donc voila une partie du main:
et ma fonction qui envoie les trame
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 //... /*verifier la présence de la carte*/ Presence[0]=0xAA; Presence[1]='\0'; Envoyer=SendTrame(Presence); if(Envoyer==1) Etat=ReceiveTrame(chaineRecue); Carte=strcmp(Presence,chaineRecue); if(Carte!=0) std::cout<<"\nCarte absente\n"; system("pause"); /*********************************/ /...
je suppose que c'est un probleme de signe mais je vois pas comment faire...
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 int SendTrame(char ChaineEnvoie[50]) { HANDLE hSerie; int NbOctet,i; unsigned long nBytesWrite; //Ouverture du port de communiucation hSerie = CreateFile(L"COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); NbOctet = strlen(ChaineEnvoie); //compte le nombre d'octet à envoyer for(i=0;i<=NbOctet-1;i++) printf(" %02X",ChaineEnvoie[i]); WriteFile(hSerie,ChaineEnvoie,NbOctet,&nBytesWrite,NULL); CloseHandle(hSerie); return(1); }
Partager