Bonjour à tous, et merci à ceux qui pourront m'aider.
Dans le cadre d'un stage, je dois reprendre un ancien programme de pilotage d'un générateur de signaux TV DTU-215 de la marque DECTEK. Quand j'envoie des informations au générateur, le programme plante et quitte. Tout me porte a croire que leurs fichiers sources et leurs fichiers de ressources sont obsolètes.
Quelqu'un a t'il déja eu le même probleme que moi ? Si quelqu'un connais les dessous d'envoi de données en USB en C++, je voudrais bien qu'il m’explique. Mon probleme pourrait-il venir des fichiers constructeurs ? ou alors je n'envoie pas mes données correctement ?
Merci de votre aide !
Voici la boucle d'envoi des données
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 void Envoi_Donnees() { int RetValue(0); Player ThePlayer; static char argv[32][32]; char* pargv[32]; char* cmd= _commande; char* pt = cmd; int i=0; while (true) { pt = strstr(cmd, " "); // find space if (pt == 0) // space not find { strcpy(argv[i++], cmd); // last command break; // end of cmd } *pt = 0; // end of string strcpy(argv[i++], cmd); // one command pargv[i] = &argv[i][0]; // init pointer *pt++; // next command strcpy(cmd, pt); // erase previous command } if (RetValue==0) { try { RetValue = ThePlayer.Play(i-1, pargv);// Tout me porte a croire que c'est dans cette methode que le programme plante et donc renvoie RetValue=-1 if (RetValue==-1) exit(2); //RetValue vaut toujours -1 ce qui me ferme automatiquement mon programme. } catch(...) { RetValue = -1; } } else return; } };
Voici le code de la méthode Play (disponible dans les fichiers du DTU-215)
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 int Player::Play(int argc, char* argv[]) { int RetValue=0; try { try { // Parse command line options m_CmdLineParams.Init(); m_CmdLineParams.ParseCommandLine(argc, argv); } catch ( Exc e ) { Log(e, true); Log("", true); Log("Use -? option for help", true); return -1; } catch ( ... ) { return -1; } if ( m_CmdLineParams.m_ShowHelp ) { // Disable silent mode m_CmdLineParams.m_SilentMode = false; ShowHelp(); return RetValue; }
Merci !
Au revoir.
Partager