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

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
.:!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
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
.:!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

Vous n’avez pas trouvé la réponse que vous recherchez ?

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

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

A+.
0