Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/10/2013, à 14:27

maryne31

[RESOLU]communication rs232

Bonjour,

Je travail actuellement sur un script qui doit me faire communiquer avec un FPGA via une liaision rs232.
Le problème c'est que je n'arrive pas a écrire la commande qui me permet d'afficher le numéro de série du FPGA. Je n'ai pas trouvé de post à ce sujet, est-il possible de faire ça sans utiliser gtkterm car c'est l'objectif?

Dernière modification par maryne31 (Le 05/11/2013, à 16:52)

Hors ligne

#2 Le 29/10/2013, à 15:51

Braun

Re : [RESOLU]communication rs232

Bonjour,
Quoi c'est le "numéro de série du FPGA"~?
Normalement pour un RS 232-C tu as besoin du Baud rate, de la taille du mot et du mode de contrôle de parité, je ne vois pas de numéro de série.
Du côté de ta machine tu dois connaître le numéro du port ou son adresse, mais là encore pas de numéro de série.

Hors ligne

#3 Le 29/10/2013, à 15:58

maryne31

Re : [RESOLU]communication rs232

mon FPGA à un numéro de série ( comme tous les FPGA )  à l'intérieur de celui-ci. Je dois l'afficher sur mon PC avec la liaison rs232 que j'ai configurer

Dernière modification par maryne31 (Le 29/10/2013, à 16:14)

Hors ligne

#4 Le 29/10/2013, à 16:14

Braun

Re : [RESOLU]communication rs232

Bon, ok,
La question est alors que tu dois envoyer une commande propre au FPGA, commande qui lui demande de mettre sur la ligne la réponse sous forme d'une chaîne ASCII.
Ensuite la question est de savoir à quel niveau tu te places, les fonction de base, low level, sont si je me souviens bien inp() et outp() qui te permettent de travailler octet par octet sur un port donné.

Hors ligne

#5 Le 29/10/2013, à 16:19

maryne31

Re : [RESOLU]communication rs232

Oui je souhaiterai faire un script shell pour envoyer la commande et récupérer la réponse...

Hors ligne

#6 Le 29/10/2013, à 16:23

Braun

Re : [RESOLU]communication rs232

Au temps pour moi, inp() et outp() sont réservés au MS-Dos, voir par exemple une réflexion ici..
Je pense que des read() et de write() devraient faire l'affaire mais je ne me souviens pas d'avoir expérimenté.
Désolé.

Hors ligne

#7 Le 29/10/2013, à 16:24

maryne31

Re : [RESOLU]communication rs232

Ok je vais essayer alors.
Merci d'avoir pris le temps de me répondre smile

Hors ligne

#8 Le 29/10/2013, à 16:31

reivillo

Re : [RESOLU]communication rs232

Bonjour maryne31.

Voir Par là, peut-être

Autrement, as-tu accès a cela, par un éditeur dédié?
( Je suppose que non. Aurais-tu les référence du FPGA? ).
Si tu pouvais détailler un peu plus,
même un début de ton Script, cela éveillerait de la curiosité,
voir une approche de solution.

Salut à Braun, au passage.

Je ne vais pas, vous embrouiller.

Reivillo.


Version LinuxMint 13 (maya-mate(32-bit)) LTS Noyau 3.2.0-39-generic (06-04-2013)
Sur http://www.linuxmint.com/edition.php?id=103

Hors ligne

#9 Le 30/10/2013, à 10:57

maryne31

Re : [RESOLU]communication rs232

C'est j'ai trouvé ma commande voici le début de mon script (qui sera utilisé pour réaliser ma procédure de test) :
#!/bin/bash

#script procédure de test HV3

#instruction,début de la procédure de test
echo "Mesurer les tensions 1R2 et 1R8 et continuer et noter le dans le tableau,
      1.15V < 1R2 < 1.25V et 1.75 < 1R8 < 1.85V sinon sortir"

#Pause avec comande de reprise
echo "Appuyer sur la toucher <Entrée> pour continuer..."
read touche
case $touche in
*)    echo "reprise du script..."
    ;;
esac

#programmation du fichier sur le FPGA
pgrcmd -infile /home/ianis/Bureau/script_test/test.xcf


#instructions
echo "Verifier que la LED clignote, si c'est le cas noter le et continuer"


#Pause avec comande de reprise
echo "Appuyer sur la toucher <Entrée> pour continuer..."
read touche
case $touche in
*)    echo "reprise du script..."
    ;;
esac

#récupération du numéro de série et de la température via rs232

stty 115200
stty cs8
stty -parenb
stty -parodd
stty -clocal
stty crtscts
stty -echo

echo "SN\n" >/dev/ttyS0 cat </dev/ttyS0 > resultat

cette dernière ligne me permet de communiquer avec mon FPGA smile

Merci a ceux qui ont pris le temps de répondre !

Hors ligne

#10 Le 30/10/2013, à 11:06

reivillo

Re : [RESOLU]communication rs232

RE.

Merci pour le Retour.

N'oublie pas de mettre ton sujet en Résolu.

Reivillo.


Version LinuxMint 13 (maya-mate(32-bit)) LTS Noyau 3.2.0-39-generic (06-04-2013)
Sur http://www.linuxmint.com/edition.php?id=103

Hors ligne

#11 Le 05/11/2013, à 15:34

maryne31

Re : [RESOLU]communication rs232

Me revoilà pour un nouveau problème^^

Voici la suite de mon script :
#!/bin/bash
stty -F /dev/ttyS0 115200 -parenb -parodd cs8 -cread -echo

#SN permet de validé la liaison on doit recevoir CAFECAFE du rs232
echo -e "SN\n" >/dev/ttyS0; cat </dev/ttyS0 > num.txt &
sleep 1s
#SN permet de récupérer un numéro du rs232 précédé d'un OK
echo -e "ST\n" >/dev/ttyS0; cat </dev/ttyS0 >> num.txt &
sleep 1s
#on récupère la ligne le numéro de série reçu en hexadécimal et on l'envoi dans un autre fichier
grep [[:xdigit:]] num.txt > hex.txt
#la commande sed nous permet de supprimer le mot OK donc de garder que le numéro reçu
sed -i "s/OK//" hex.txt
cat hex.txt

Je ne reçois rien.....


S'il vous plaît aidez moi je coule totalement....

Dernière modification par maryne31 (Le 05/11/2013, à 16:40)

Hors ligne

#12 Le 05/11/2013, à 16:23

credenhill

Re : [RESOLU]communication rs232

hello
est-ce que ce script affiche quelque chose dans le terminal

#!/bin/bash
stty -F /dev/ttyS0 115200 -parenb -parodd cs8 -cread -echo

#SN permet de validé la liaison on doit recevoir CAFECAFE du rs232
echo -e "SN\n" >/dev/ttyS0; cat </dev/ttyS0

Hors ligne

#13 Le 05/11/2013, à 16:33

maryne31

Re : [RESOLU]communication rs232

non je pense que j'ai mal configurer ma liaison rs232 car quand je tape mais deuxcommande dans gtkterm je reçois bien quelque chose

Hors ligne

#14 Le 05/11/2013, à 16:52

maryne31

Re : [RESOLU]communication rs232

stty -F /dev/ttyS0 115200 cs8 -cstopb

Tête en l'air que je suis j'avais oublié le bit de stop qu'elle cruche^^

Hors ligne