Partage
  • Partager sur Facebook
  • Partager sur Twitter

gerer un simulator sur mon Pc

programmation en C

    10 juillet 2018 à 14:46:27

    Bonjour les Zeros,

    je veux ecrire un code me permettant de permettant de communiquer avec le simulateur d'un appareil installé sur mon ordinateur. Une sorte de question reponse entre le code et le simulateur. sauf que les reponses vont etre choisies en un clique sur un menu que propose le simulateur.

    Mon probleme est de savoir comment faire comprendre mes Choix sur le simulateur à mon code. (Une sorte de scanf)

    Merci pour votre aide. 

    • Partager sur Facebook
    • Partager sur Twitter
      12 juillet 2018 à 15:20:32

      int main(int argc, char *argv[])
      {
      	  int Cport_nr, baudrate, auswahl, auswahl1, i,n;
      	  unsigned char buf[4096];
      	  char mode[]={'8','N','1',0};
      
      	  char activation[20] = "online=on\r\n";
      
      	  Cport_nr = SetComport(auswahl1);
      	  baudrate = SetBaudrate(auswahl);
      
      	    if(RS232_OpenComport(Cport_nr, baudrate, mode))
      	    {
      	      printf("Can not open comport\n");
      	      return(0);
      	    }
      	    else
      	      {
      	  #ifdef _WIN32
      	        printf("Com Port %i opened with %i Baud.\n", Cport_nr+1, baudrate);
      	  #else
      	        printf("Com Port %i opened with %i Baud.\n", Cport_nr, baudrate);RS232_flushRX(Cport_nr);
      	  #endif
      	      }
      
      	    RS232_flushRX(Cport_nr);
      	    RS232_flushTX(Cport_nr);
      	    RS232_cputs(Cport_nr, activation);
      
      	    while(1)
      	      {
      	        n = RS232_PollComport(Cport_nr, buf, 4095);
      
      	        if(n > 0)
      	        {
      	          buf[n] = 0;   /* always put a "null" at the end of a string! */
      
      	          for(i=0; i < n; i++)
      	          {
      	            if(buf[i] < 32)  /* replace unreadable control-codes by dots */
      	            {
      	              buf[i] = '.';
      	            }
      	          }
      
      	         printf(" %s\n", (char *)buf);
      	        }
      
      			#ifdef _WIN32
      	        	Sleep (30);
      			# else
      	        	unsleep (3000); /*sleep for 100 milliseconds*/
      			#endif
      
      	      }
      
      
      	 RS232_CloseComport(Cport_nr);
      	 return 0;
      
      }
      

      je suis enfin parvenu a envoyer un signal a mon simulateur mais j'obtiens des données bizarres (Foto) mais qui son vraiment celle renvoyées par le simulator car je l'ai essayé avec Teraterm. Quelq'un aurait il une idée sur comment faire pour dissocier ce meaasge? genre affichéel'heure et la date 

       

      • Partager sur Facebook
      • Partager sur Twitter
        12 juillet 2018 à 15:40:13

        Hello,

        Je ne sais pas t'aider, mais je peux te dire que auswahl et auswahl1 ne sont pas initialisés avant d'être utilisés.

        -
        Edité par edgarjacobs 12 juillet 2018 à 15:40:24

        • Partager sur Facebook
        • Partager sur Twitter

        On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

          13 juillet 2018 à 8:01:58

          edgarjacobs a écrit:

          Hello,

          Je ne sais pas t'aider, mais je peux te dire que auswahl et auswahl1 ne sont pas initialisés avant d'être utilisés.

          -
          Edité par edgarjacobs il y a environ 16 heures


          ce sont les Valeurs que j'obtiens d'une fonctions ecrite plus haut.....
          • Partager sur Facebook
          • Partager sur Twitter
            13 juillet 2018 à 10:10:46

            CedricKaiser a écrit:

            edgarjacobs a écrit:

            Hello,

            Je ne sais pas t'aider, mais je peux te dire que auswahl et auswahl1 ne sont pas initialisés avant d'être utilisés.

            -
            Edité par edgarjacobs il y a environ 16 heures


            ce sont les Valeurs que j'obtiens d'une fonctions ecrite plus haut.....


            Impossible. Ces variables sont locales à la fonction, et dans l'appel à SetComport() et SetBaudrate() tu ne passes pas leur adresse.

            -
            Edité par edgarjacobs 13 juillet 2018 à 10:11:52

            • Partager sur Facebook
            • Partager sur Twitter

            On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

            gerer un simulator sur mon Pc

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown