Petit programme pour envoi donnée sur rs232

.:!SEB!:. Messages postés 24 Statut Membre -  
 Yoda -
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. Yoda
     
    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
  2. .:!SEB!:. Messages postés 24 Statut Membre 3
     
    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
  3. Yoda
     
    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
  4. .:!SEB!:. Messages postés 24 Statut Membre 3
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. .:!SEB!:. Messages postés 24 Statut Membre 3
     
    PARFAIT !!!!!!!

    MERCI INFINIMENT !!!
    0
  7. .:!SEB!:. Messages postés 24 Statut Membre 3
     
    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. Yoda
       
      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. .:!SEB!:. Messages postés 24 Statut Membre 3
       
      d'accord merci pour les infos!! (j'aime pas faire des truc sans comprendre pourquoi :) )
      0
    3. Yoda
       
      C'est normal.

      A+.
      0