IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Probléme affichage Hexa


Sujet :

C

  1. #1
    Membre régulier Avatar de vtk37
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Points : 116
    Points
    116
    Par défaut Probléme affichage Hexa
    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:
    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");
    	/*********************************/
            /...
    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
    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);
    }
    je suppose que c'est un probleme de signe mais je vois pas comment faire...

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    1/ Rien à voir, mais...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::cout<<"\nCarte absente\n";
    n'est pas du C. Si ça compile, c'est que tu ne compiles pas en C mais en C++, ce qui n'est pas du tout recommandé.

    2/ Il manque ta fonction ReceiveTrame.

  3. #3
    Membre régulier Avatar de vtk37
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Points : 116
    Points
    116
    Par défaut
    J'utilise visual studio donc les morceau de C++ ne gène pas
    je n'ai pas mis la fonction ReceiveTrame car pour l'instant je me relie pas à la carte mais juste à un pc sur lequel je regarde les trames reçu avec hyperterminal.
    Mais si il y en a besoin je peux toujours la mettre

  4. #4
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int SendTrame(unsigned char ChaineEnvoie[])
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    J'utilise visual studio donc les morceau de C++ ne gène pas
    Ce n'est pas un problème d'IDE mais de programmation.

  6. #6
    Membre régulier Avatar de vtk37
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Points : 116
    Points
    116
    Par défaut
    j'ai deja essayé mais sa pose pas mal de probléme dans le programme avec d'autre fonction, il faudrait que je réécrive en bonne partie mon programme

    mais apparemment la carte me répond bien AA donc sa marche mais c'est juste pour l'affichage

  7. #7
    Membre régulier Avatar de vtk37
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Points : 116
    Points
    116
    Par défaut
    Citation Envoyé par jeroman Voir le message
    Ce n'est pas un problème d'IDE mais de programmation.
    euh je connais pas la différence alors j'ai toujours mélangé du C et du C++ en fonction de mes besoins et j'ai pas eu de problème jusqu'à présent

  8. #8
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Oui, tu envoies le bon code de toute façon, puisque tu écris directement les bytes de ta chaine.
    Sinon pour l'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf(" %02X",(unsigned char)ChaineEnvoie[i]);
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  9. #9
    Membre régulier Avatar de vtk37
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Points : 116
    Points
    116
    Par défaut
    super sa marche c'est ce que je voulais merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/06/2009, 11h30
  2. problème affichage image
    Par thealpacino dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 30/05/2005, 13h56
  3. Problème affichage primitive
    Par goutbouyo dans le forum DirectX
    Réponses: 4
    Dernier message: 29/12/2004, 18h25
  4. [Plugin][VE] Problème affichage
    Par sebb84 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/07/2004, 14h50
  5. [DOS] Problème affichage de DOS dans un Memo
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 25/06/2004, 13h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo