Petit programme pour envoi donnée sur rs232

Bonjour,

Je souhaiterai créer une PETITE application que lorsque je la lance (je ne veux pas de fenêtre, d'interface graphique, etc.) elle envoie aussitôt la valeur binaire 00000001 sur le port série (com1), et se referme aussitot...

Quelqu'un aurait-il un language à me propose, et surtout un morceau de code?
Ou sinon, un petit script en basic qui permettre juste d'envoyer 00000001 sur le port série?

Merci

Seb

6 réponses

  1. Bonjour,

    Au moins on est sur que ça marche même si les données envoyées ne sont pas celle attendues.

    Print #1,"00000001"

    par cette instruction, en envoie la chaine de caractères "00000001"

    remplace cette instruction par

    Print #1, chr(1);

    n'oublie pas le ";" à la fin de la ligne.

    A+.
    1
    1. SVP, aidez-moi, je bosse sur un projet (que j'ai peut-etre tapé dans le trop ambitieux... ^^), et c'est le seul point qui me bloque...

      Sachant que je n'ai jamais utilisé ce port, je ne sais pas du tout par quoi commencer...

      Donc en gros, il me faudrait un petit programme en basic qui envoi 00000001 sur le port série...

      Si qqn pouvait m'aider ca serait sympa ;)

      Merci
      0
      1. Bonjour,

        En basic se serais quelque chose ça

        Open "Com1:9600,n,8,1" for output as #1

        Print #1,"00000001"

        Close #1

        Tu compile ce programme avec QBasic pour en faire un exe.
        0
        1. Bonjour,

          Pourrais-tu m'explique un peu chaque partie de ton code, car il semble ne pas fonctionner.

          En effet voici ce qui se passe sur le port série (d'après Serial Port Monitor):

          
          [13/11/2012 18:41:43] - Open COM1 port ()
          
          
          
          [13/11/2012 18:41:44] - Written data
          
          00110000 00110000 	00
          00110000 00110000 	00
          00110000 00110000 	00
          00110000 00110001 	01
          00001101 00001010 	..
          
          [13/11/2012 18:41:44] - Close port
          
          


          Et voici ce qui devrait (ou de moins ce que je voudrais) qu'il se passe pour que mon application à l'autre bout fonctionne:

          
          [13/11/2012 18:42:55] - Open COM1 port ()
          
          
          
          [13/11/2012 18:43:03] - Written data
          
          00000001          	.
          
          [13/11/2012 18:43:06] - Close port
          
          
          
          0
          1. PARFAIT !!!!!!!

            MERCI INFINIMENT !!!
            0
            1. Par contre, encore une chose, pourrais tu m'expliquer ceci:

              for output as as#1

              et la différence entre Print #1,"00000001" et Print #1,chr(1);

              Merci ;)
              0
              1. c'est la langage Basic qui veut qu'on l'ecrive comme ça

                ligne 1 : Open "Com1:9600,n,8,1" for output as #1
                ouvrir en ecriture Com1 en mode 9600 bauds, sans contole de parité, 8 bits de données, 1 bit de stop, avec le descriteur de fichier #1

                ligne2 : Print #1, chr(1);
                ecrire dans le fichier #1 le caractère dont le code ASCII est 1, ne pas ajouter de routour à la ligne

                ligne3 : Close #1
                fermer le fichier #1

                à la ligne 2 j'avais mis d'abord Print #1,"00000001"
                c'est une chaine de 8 caractères plus le retour à la ligne (2 caractères)
                on les retrouve bien ici
                00110000 00110000 00
                00110000 00110000 00
                00110000 00110000 00
                00110000 00110001 01
                00001101 00001010 ..
                0
              2. d'accord merci pour les infos!! (j'aime pas faire des truc sans comprendre pourquoi :) )
                0
              3. C'est normal.

                A+.
                0