Probléme de communication port série

olivier -  
 olivier -
Bonjour, j'ai écrit un petit programme en C++ qui réalise une communication série.
Le programme fonctionne en parti, en effet j'arrive a envoyer et recevoir mais si j'envoie une chaine comme ça :

envoie = "bonjour";
sprintf(commbuf, " %s",envoie);
cout << commbuf <<endl;

Test->Envoyer(commbuf);

les caractères n'apparaisse pas sur l'hyper terminale, seul le curseur se déplace du bon nombre de caractères.
Et si je rajoute '\n' de cette manière:

envoie = "bonjour";
sprintf(commbuf, "\n %s \n",envoie);
cout << commbuf <<endl;

Test->Envoyer(commbuf);

Mon curseur saut 4 ou 5 lignes sans m'afficher de caractère.

voici mon code:

/***************************************************************************
 
 ***************************************************************************/

#include "trs232.h"
#include <iostream>
#include <stdlib.h>
#include <string.h>

int main()
{
   	int R;
   	char *message;
   	char *envoie;
	//char *retourchariot;
	char commbuf[50];

    	tRs232 *Test;
   	Test = new tRs232(BPS9600, BIT7, PAS_DE_PARITE, STOP1);
	
	//retourchariot  = '\n';
	
    	for(;;)
	{
		cout << "Donner message a envoyer" << endl;
		cin >> envoie;
		
		sprintf(commbuf, " %s",envoie);
		cout << commbuf <<endl;
		
		Test->Envoyer(commbuf);
				

		sleep(0.5);

		R = Test->Recevoir(3, message);
		switch(R)
		{
			case 0:
				cout << "ok" << endl;
				break;
			case -1:
				cout << "erreur" << endl;
				break;
			case -2:
				cout << "TIMEOUT" << endl;
				break;
			case 1:
				cout << "rien reçu"<< endl;
				break;
			default:
				cout << "la c'est la fin des haricot" << endl;
				break;
		}
		cout << "Message recu:" << message << endl;
	}
}

A voir également:

2 réponses

dubcek Messages postés 19033 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
et avec BIT8 ?
0
olivier
 
Aucun changement mon protocole doit étre de 7 bits
0
dubcek Messages postés 19033 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
est ce que l'hyperterminal peut se mette en mode hexa ou dump pour voir les codes de ce qu'il reçoit ?
0
olivier
 
Non il peu pas et j'ai chercher un prog qui puisse le faire en vain!!
0