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 :

Probleme transmission info sous labwindows


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 1
    Par défaut Probleme transmission info sous labwindows
    Bonjour ,

    Je rencontre quelques soucis pour developper mon interface en C sous labwindows... J espere que vous saurez m'aider !

    Mon interface doit permettre de remplacer une console de commande (Tera Term Pro) pour effectuer les reglages d'un amplificateur de spectroscopy.
    J ' utilise la bibliotheque rs232 pour permettre la transmission de l'info et pour le moment j'arrive a effectuer les reglages du com port usb utilise.

    Maintenant, mon interface doit permettre de choisir les channels, de regler le gain, le shaping time ....
    J'ai donc essaye d'envoyer les meme commandes que celles utilisees saur le logiciel tera term pro ( par exemple ds pour display settings, MC 1 pour monitor channel 1 ....)

    voici une partie de mon code :

    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
    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    /*----------------------------------------------------------------------------------------------------*/
    /* Set                                                                */
    /*----------------------------------------------------------------------------------------------------*/
     
    void SetPanelParms(void)
    {
    	SetCtrlVal(panelHandle, PANEL_SHAPE, shape);
    	SetCtrlVal(panelHandle, PANEL_CHANNEL, channel);
    	SetCtrlVal(panelHandle, PANEL_GROUP,group );
    	SetCtrlVal(panelHandle, PANEL_GAIN, gain);
    	SetCtrlVal(panelHandle, PANEL_MODE , mode);
     
     
    }
     
     
    /*----------------------------------------------------------------------------------------------------*/
    /*Get the port confuguration parameters                                             				  */
    /*----------------------------------------------------------------------------------------------------*/
     
    void GetPanelParms(void)
    {
    	GetCtrlVal(panelHandle, PANEL_SHAPE, &shape);
    	GetCtrlVal(panelHandle, PANEL_CHANNEL, &channel);
    	GetCtrlVal(panelHandle, PANEL_GROUP,&group );
    	GetCtrlVal(panelHandle, PANEL_GAIN, &gain);
    	GetCtrlVal(panelHandle, PANEL_MODE , &mode);
     
    }
     
    /*---------------------------------------------------------------------------------------------------------*/
    /*---------------------------------------------------------------------------------------------------------*/
     
     int CVICALLBACK ShapeControl (int panel, int control, int event,
    		void *callbackData, int eventData1, int eventData2)
    {
    	int g = GetCtrlVal(panelHandle, PANEL_GROUP,&group); 
    	switch (event)
    	{
    		case 1:
    		if(g==1)
    		   Fmt(buffer_SEND,"%s","SS 1 1"); 
    		else
    			if(g==2)
    				Fmt(buffer_SEND,"%s","SS 2 1 ");  
    			else
    				if(g==3)
    					Fmt(buffer_SEND,"%s","SS 3 1 ");
    				else
    					if(g==4)
    						Fmt(buffer_SEND,"%s","SS 4 1 "); 
    					else
    						if(g==5)
    							Fmt(buffer_SEND,"%s","SS 5 1 "); 
     
    			break;
    		case 2:
    		if(g==1)
    		   Fmt(buffer_SEND,"%s","SS 1 2"); 
    		else
    			if(g==2)
    				Fmt(buffer_SEND,"%s","SS 2 2 ");  
    			else
    				if(g==3)
    					Fmt(buffer_SEND,"%s","SS 3 2 ");
    				else
    					if(g==4)
    						Fmt(buffer_SEND,"%s","SS 4 2 "); 
    					else
    						if(g==5)
    							Fmt(buffer_SEND,"%s","SS 5 2 ");
    			break;
    		case 3:
    		if(g==1)
    		   Fmt(buffer_SEND,"%s","SS 1 3"); 
    		else
    			if(g==2)
    				Fmt(buffer_SEND,"%s","SS 2 3 ");  
    			else
    				if(g==3)
    					Fmt(buffer_SEND,"%s","SS 3 3 ");
    				else
    					if(g==4)
    						Fmt(buffer_SEND,"%s","SS 4 3"); 
    					else
    						if(g==5)
    							Fmt(buffer_SEND,"%s","SS 5 3 "); 
    			break;
    		case 4:
    		if(g==1)
    		   Fmt(buffer_SEND,"%s","SS 1 4"); 
    		else
    			if(g==2)
    				Fmt(buffer_SEND,"%s","SS 2 4 ");  
    			else
    				if(g==3)
    					Fmt(buffer_SEND,"%s","SS 3 4 ");
    				else
    					if(g==4)
    						Fmt(buffer_SEND,"%s","SS 4 4"); 
    					else
    						if(g==5)
    							Fmt(buffer_SEND,"%s","SS 5 4 ");  
    			break;						
    	}
    	return 0;
    }
     
    /*---------------------------------------------------------------------------------------------------------*/
    /* Send the data to the port                                                                               */
    /*---------------------------------------------------------------------------------------------------------*/
     
     int CVICALLBACK SendCallBack (int panel, int control, int event,
    		void *callbackData, int eventData1, int eventData2)
    {
    	switch (event)
    	{
    		GetPanelParms();
    		case EVENT_COMMIT:
    			GetPanelParms();
    			RS232Error = ReturnRS232Err();
    			if(RS232Error)
    				DisplayRS232Error();
     
    			strcat( buffer_SEND , "\r");
    			stringsize= StringLength(buffer_SEND);
    			bytes_sent= ComWrt(comport,buffer_SEND,stringsize  ) ;
    			printf("%s \n",buffer_SEND);
    			break;
     
    	}
    	return 0;
    }
     
    /*------------------------------------------------------------------------------------------------------------*/
    /* Flush the input/output queue : remove all the characters from the input and output queue of the specified  */
    /* port                                                                                                       */
    /*------------------------------------------------------------------------------------------------------------*/ 
     
     int CVICALLBACK FlushCallBack (int panel, int control, int event,
    		void *callbackData, int eventData1, int eventData2)
    {
    	switch (event)
    	{
    		case EVENT_COMMIT:
    		   FlushInQ(comport);
    		   MessagePopup("RS232 Message", "Input Queue Flushed");
    			FlushOutQ(comport);
    		   MessagePopup("RS232 Message","Output Queue Flushed");
     
    			break;
     
    	}
    	return 0;
    }
    J'observe les resultats de mes changements de parametre sur un oscilloscope et le seul reglage qui marche semble etre le changement de channel.
    Je ne suis donc pas sur d'envoyer la bonne info a mon device et je ne sais pas comment faire autrement...
    La fonction FlushCallBack me sert a pouvoir envoyer une seule commande a la fois, sinon le device ne comprend pas, j,aimerai ne pas avoir a l'utiliser mais je ne trouve pas de solution ...

    Merci pour votre aide !

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 123
    Par défaut RS232/COM/USB
    Euh...ce ne serait pas "COM1:" par hasard ?

Discussions similaires

  1. Problème installation rpm sous Mandrake
    Par infotron dans le forum Mandriva / Mageia
    Réponses: 5
    Dernier message: 10/05/2004, 12h47
  2. Problème de partitions sous Mandrake
    Par kaygee dans le forum Administration système
    Réponses: 12
    Dernier message: 30/01/2004, 08h26
  3. Problème Window manager sous Slackware 9.1
    Par Riko dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 30/01/2004, 07h38
  4. [TP]Probleme de compilation sous TP7
    Par yffick dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 18/12/2003, 20h32
  5. [Kylix] Probleme d'installation sous Mdk 9.1
    Par anderson2 dans le forum EDI
    Réponses: 4
    Dernier message: 25/05/2003, 18h27

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