IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Communication port COM via PySerial


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Communication port COM via PySerial
    Bonjour à tous,

    Je développe actuellement une application qui communique avec un module USB I2C via un port COM.

    Pour dialoguer avec le module il me suffi d'envoyer une séquence de trois byte.

    Sous Visual Basic sa donne un truc comme cela :

    UserForm1.MSComm1.CommPort = 3
    UserForm1.MSComm1.Settings = "19200,N,8,2"
    UserForm1.MSComm1.InputMode = comInputModeBinary
    UserForm1.MSComm1.PortOpen = True
    UserForm1.MSComm1.PortOpen = True
    Dim octet(2) As Byte
    octet(0) = 83
    octet(1) = 120
    octet(2) = 0
    UserForm1.MSComm1.Output = octet
    UserForm1.MSComm1.PortOpen = False

    Question fonctionnement tout est OK

    Sous python j'ai écrit cela

    donnee=[83,120,0]
    protocol_port_com=Serial(port=3,baudrate=19200,parity=PARITY_NONE,stopbits=STOPBITS_TWO,bytesize=EIGHTBITS)
    protocol_port_com.write(donnee)
    protocol_port_com.close()

    Mais là cela ne fonctionne pas.

    J'arrive bien a ouvrir et fermer le port. Les données parte bien (enfin cela ne bug pas), mais le module ne réagie pas.

    Je pence que le problème vient du fait que la donnée n'est de type byte comme en VB car en VB si je n'envoie pas une donné byte cela ne fonctionne pas également.

    Je ne sais pas comment déclaré ou créer une donnée de type byte en python.

    Quelqu'un a t-il quelques idées ?

    Merci par avance
    A+ Cyril

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 289
    Points : 36 784
    Points
    36 784
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    buf = bytes([83, 120, 0])
    devrait faire ce que vous voulez (modulo la version de Python utilisée)
    - W

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    En effet ça marche.
    Un grand merci

    Cyril

Discussions similaires

  1. Communication port COM
    Par momo l'plus bô dans le forum Bibliothèques, systèmes et outils
    Réponses: 1
    Dernier message: 17/09/2013, 20h38
  2. Communication Port Com et VB6
    Par eldiablo13 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/07/2010, 18h52
  3. Réponses: 1
    Dernier message: 01/07/2008, 12h33
  4. Communication port com.
    Par Alga007 dans le forum C++
    Réponses: 2
    Dernier message: 08/06/2007, 08h58
  5. [javaComm]Communication port COM
    Par gui4593 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 04/06/2004, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo