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

Plateformes Discussion :

Liaison série RS232


Sujet :

Plateformes

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2023
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Liaison série RS232
    Bonjour à tous !

    Je suis étudiant en LP Systèmes embarqués et j'ai comme projet avec mon entreprise de faire une IHM avec liaison série RS232, pour commander un bras robotisé.
    J'ai déjà fais un peu de C++ mais je ne suis pas un expert et je débute sur QT.

    J'ai réalisé la liaison série RS232 sur un terminal et celle-ci fonctionne parfaitement.
    Mais pour la faire sur QT c'est autres choses...

    Je voulais savoir si des gens ont déjà fais cette laision sur QT ?
    Et si des personnes ont déjà fais un projet similaire sur QT ?

    Merci beaucoup !
    Alexis.

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut


    Je n'y ai personnellement jamais touché, mais Qt 5 et 6 fournissent le module Qt Serial Port (dérivé de la bibliothèque QextSerialPort) : https://doc.qt.io/qt-6/qtserialport-index.html.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2023
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    Je n'y ai personnellement jamais touché, mais Qt 5 et 6 fournissent le module Qt Serial Port (dérivé de la bibliothèque QextSerialPort) : https://doc.qt.io/qt-6/qtserialport-index.html.


    Merci beaucoup pour ta réponse !
    J'ai déjà installé cette librairie et je l'ai intégré à mon code.
    Je pense que le soucis viens plutôt de mon code...

    Avec un terminal, ma liaison RS232 marche parfaitement, mais sur Qt je ne reçois pas.
    Je mets mon mainwindow.cpp en pj
    Je pense que le soucis viens de mon void MainWindow::sendName() ou void MainWindow::receiveName()
    Fichiers attachés Fichiers attachés

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 107
    Points : 189
    Points
    189
    Par défaut
    salut,
    Pareil, cela fait un bail que je n'ai pas touché au port série avec Qt, mais de mémoire, il y a un exemple tout fait de terminale pour port série dans QtCreator.
    Ensuite, si ça ne marche pas avec cela, peut-être que ton robot utilise une puce de conversion USB de type FTDI ou équivalent, et là, il faut non seulement configurer le port avant, mais aussi après son ouverture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            m_serial->setPortName(name);
            m_serial->setBaudRate(baudRate);
            m_serial->setDataBits(QSerialPort::Data8);
            m_serial->setParity(QSerialPort::NoParity);
            m_serial->setStopBits(QSerialPort::OneStop);
            m_serial->setFlowControl(QSerialPort::NoFlowControl);
     
            if (m_serial->open(QIODevice::ReadWrite))
            {
    		m_serial->setPortName(name);
    		m_serial->setBaudRate(baudRate);
    		m_serial->setDataBits(QSerialPort::Data8);
    		m_serial->setParity(QSerialPort::NoParity);
    		m_serial->setStopBits(QSerialPort::OneStop);

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2023
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par loupium Voir le message
    de mémoire, il y a un exemple tout fait de terminale pour port série dans QtCreator.
    Merci pour ta réponse !

    Justement je me suis basé sur l'exemple de QtCreator, comme t'as pu le voir dans mon code mainwindow.cpp.
    Pour le moment j'envoie des trames à une carte électronique de contrôle d'une platine distributeurs, qui est censée m'en renvoyer des différentes.
    Avec Qt, je reçois la même trame que celle que j'envoie et non celle que je suis censé recevoir.

    T'as une idée de où cela pourrait venir ?

    Sur un terminal, cela fonctionne parfaitement.

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 107
    Points : 189
    Points
    189
    Par défaut
    Bon, je viens de faire un test réussi avec l'exemple "Terminal Exemple" compilé avec la version Qt 6.3.1. J'ai utilisé pour ça un convertisseur USB vers RS232 puis un deuxième convertisseur RS232 vers USB pour créer une boucle. Et à l'autre bout de la boucle j'utilise le logiciel DockLight.
    Donc essaye d'abord avec "Terminal Exemple" comme je te l'ai mis sur la capture d'écran.
    Nom : qt-serial_test.JPG
Affichages : 180
Taille : 141,3 Ko
    Vérifie que tu utilises le bon port.
    Normalement tu devrais avoir des informations sur le port s'afficher.
    Je ne vais pas déboguer ton code, j'ai juste vu que tu as commenté l'activation du echo, qui n'est pas ton problème. Ça permet seulement d'afficher les caractères que tu es en train d'envoyer.
    Ton problème vient probablement que tu n'es pas connecté.

    Et cette carte électronique de contrôle, elle est connecter à quoi sur ton PC, un convertisseur USB/RS232 ? à une carte PCI/RS232 ?

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2023
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par loupium Voir le message
    Bon, je viens de faire un test réussi avec l'exemple "Terminal Exemple" compilé avec la version Qt 6.3.1. J'ai utilisé pour ça un convertisseur USB vers RS232 puis un deuxième convertisseur RS232 vers USB pour créer une boucle. Et à l'autre bout de la boucle j'utilise le logiciel DockLight.
    Donc essaye d'abord avec "Terminal Exemple" comme je te l'ai mis sur la capture d'écran.
    Nom : qt-serial_test.JPG
Affichages : 180
Taille : 141,3 Ko
    Vérifie que tu utilises le bon port.
    Normalement tu devrais avoir des informations sur le port s'afficher.
    Je ne vais pas déboguer ton code, j'ai juste vu que tu as commenté l'activation du echo, qui n'est pas ton problème. Ça permet seulement d'afficher les caractères que tu es en train d'envoyer.
    Ton problème vient probablement que tu n'es pas connecté.

    Et cette carte électronique de contrôle, elle est connecter à quoi sur ton PC, un convertisseur USB/RS232 ? à une carte PCI/RS232 ?




    Salut !

    Alors, j'ai fais avec ce projet de "test" de Qt.
    En effet ça fonctionne bel et bien.

    Lorsque je compile mon projet sur Qt, ça me lance le Terminal et je peux communiquer avec la carte électronique.
    Merci !

    Pour répondre à ta question j'utilise un convertisseur USB/RS232.

    Cependant, je souhaiterais faire le projet entièrement sur Qt et non via un Terminal, est ce possible ?
    En gros, intégrer le Terminal dans Qt, pour communiquer les trames directement dedans.

Discussions similaires

  1. Liaison série RS232, à quoi sert RTS ?
    Par ptitemeuh dans le forum Débuter
    Réponses: 24
    Dernier message: 05/08/2011, 10h22
  2. Liaison série RS232
    Par Julien.S dans le forum LabVIEW
    Réponses: 1
    Dernier message: 19/04/2011, 10h54
  3. [Javax.comm] Liaison série rs232
    Par Marou77 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 01/04/2011, 15h00
  4. Comment capturer les données sur une liaison série RS232
    Par jef Orome dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 02/04/2007, 18h14
  5. [Debutant(e)] Liaison série RS232 et servlet
    Par bourack dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 07/01/2005, 14h50

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