Partage
  • Partager sur Facebook
  • Partager sur Twitter

Communication Série Qt avec QextSerialPort Arduino

    15 septembre 2013 à 21:43:38

    Bonjour tout le monde ! Cela va faire un petit bout de temps que j'essaye d'utiliser Qt pour pouvoir communiquer avec ma carte Arduino...


    Je sais qu'il faut utiliser QextSerialPort pour initier la liaison série mais j'ai toujours un problème différent qui survient alors que j'ai essayé tout les tuto existant.

    J'essaye de comprendre comment fonctionne Qt petit à petit mais je veux juste faire un programme tout bête pour au moins initialiser la liaison avec ma carte et récupérer une donnée.

    J'ai repris au début ça sera peut être plus simple...
    Je viens de crée un nouveau projet vide dans lequel j'ai un fichier .pro et un fichier C++ :

    .pro

    SOURCES += \
        main.cpp
     
    INCLUDEPATH += E:/Qt/QextSerialPort
    QMAKE_LIBDIR += E:/Qt/qextserialport/build
     
    CONFIG(debug, debug|release):LIBS += -lqextserialportd
    else:LIBS  += -lqextserialport

    le main.cpp

    #include <QextSerialPort/qextserialport.h>
     
    QextSerialPort *port;
     
     
        port = new QextSerialPort("COM10");
     
        port->open(QIODevice::ReadWrite | QIODevice::Unbuffered);
        if(!port->isOpen())
            if(!port->isOpen())
            {
            QMessageBox::critical(this, "Erreur", "Erreur le port COM10 est indisponnible");
            port->write("e");
            }
        else
        {
        port->setBaudRate(BAUD9600);
        port->setFlowControl(FLOW_OFF);
        port->setParity(PAR_NONE);
        port->setDataBits(DATA_8);
        port->setStopBits(STOP_1);
        }

    Je précise comment sont mes fichier :

    Dans mon lecteur E:/Qt/ , j'ai un dossier "qextserailport" où se trouve les dossier "build", "src" et plein d'autres.

    Les include ont été déplacé dans E:\Qt\Qt5.1.0\5.1.0\mingw48_32\include/QextSerailPort

    Le problème actuel dans mon code est surtout :

    erreur : 'port' does not name a type

    Est ce que tout est bon et quel est la suite pour communiquer avec ma carte ?

    -
    Edité par DangerousMic 15 septembre 2013 à 21:45:19

    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2013 à 8:14:05

      Rassures moi : le main.cpp, c'est juste un extrais que tu as posté non ?

      =====

      Sinon, pour communiquer, QExtSerialPort hérite de QIoDevice, tout comme QTcpSocket.

      Donc si tu as suivie les tutos C++, tu sais te servir de QTcpSocket pour faire un chat donc tu sais te servir de QExtSerialPort ;)

      Plus concrètement, tu as :

      - la méthode QExtSerialPort::write pour envoyerdes données

      - le signal QExtSerialPort::readyRead qui est émis à chaque donnée reçue

      - la méthode QExtSerialPort::readAll pour lire les données reçues

      =====

      Les méthodes read et write prennent des QByteArray et non des QString.

      Je t'invite donc à regarder QString::fromUtf8 et QString::toUtf8 pour faire les conversions.

      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2013 à 15:21:43

        Bah j'ai pas trop de connaissances dans l'utilisation de Qt... dans mon main.cpp je sais bien qu'il manque la fonction principale "void main()"

        Je sais pas ce qu'il manque pour que ça fonctionne :(

        Je veux juste commencer a lire une valeur.

        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2013 à 16:41:40

          oui ...

          Il manque juste la fonction main.

          C'est juste LA fonction la plus importante d'un programme vu que c'est elle qui est appelée en première et qui dirige ensuite toute l'application.

          =====

          Généralement, avec Qt, la fonction main est très courte vu qu'elle ne fait que créer la classe principale puis appeler QApplication::exec.

          Ensuite, c'est la classe principale qui contient toute la logique du code.

          =====

          Voici un petit bout de de code fait rapidement.

          Note : ce code n'est là que pour te donner des idées, il est très probable qu'il ne compile pas puisque je code en direct dans la zone de texte du SDZ.

          // FICHIER main.cpp
          
          int main(int argc, char **argv) {
          
              QApplication app(argc, argv);
          
              SerialPortTextZone textZone;
              textZone.show();
          
              return app.exec();
          
          }
          // FICHIER serialporttextzone.h
          
          class SerialPortTextZone : pulbic QTextEdit {
              
              Q_OBJECT
          
              public:
                  void SerialPortTextZone(QWidget *parent);
                  void ~SerialPortTextZone();
          
              private slots:
                  void onSerialDataReceived();
          
              private:
                  QExtSerialPort *m_serialPort;
          
          };
          SerialPortTextZone::SerialPortTextZone(QWidget *parent) : 
              QTextEdit(parent),
              m_serialPort(new QextSerialPort("COM10"))
          {
          
              if ( !m_serialPort->open( QIODevice::ReadWrite | QIODevice::Unbuffered ) ) {
                  append(tr("Impossible to open port ..."));
              } else {
                  m_serialPort->setBaudRate(BAUD9600);
                  m_serialPort->setFlowControl(FLOW_OFF);
                  m_serialPort->setParity(PAR_NONE);
                  m_serialPort->setDataBits(DATA_8);
                  m_serialPort->setStopBits(STOP_1);
              }
          
              connect(m_serialPort, SIGNAL(readyRead()), this, SLOT(onSerialDataReceived()));
          
          }
          
          SerialPortTextZone::~SerialPortTextZone() {
              delete m_serialPort;
          }
          
          void SerialPortTextZone::onSerialDataReceived() {
              append(tr("RECV : %1").arg(QString::fromUtf8(m_serialPort->readAll()));
          }
          

          Voila, je t'ai donné une architecture de base.

          A toi de la comprendre, corriger mes éventuels petites erreurs et adapter à tes besoins.



          • Partager sur Facebook
          • Partager sur Twitter
            16 septembre 2013 à 23:16:35

            Je te remercie lorrio pour ton soutient :) en cherchant pour corriger et comprendre ton code certaines choses s'éclaircissent ;)

            Par contre je ne vois pas ou mettre le dernier code que tu m'as écrit.. dans le header ? le main ? ou un autre fichier ?

            Et au passage :

                public:
                    void SerialPortTextZone(QWidget *parent);
                    void SerialPortTextZone();


            Le debugger me dit "return type specification for constructor invalid".. J'ai regarder les instructions sur cette classe et tout est tapé correctement...

            J'ai aussi retiré le symbole ~ car quand il est présent j'ai un code d'erreur : "no matching function for call to 'SerialPortTextZone::SerialPortTextZone()'

            Des explications ? 

            -
            Edité par DangerousMic 17 septembre 2013 à 0:00:55

            • Partager sur Facebook
            • Partager sur Twitter
              17 septembre 2013 à 0:22:03

              Alors, SerialPortTextZone est une classe.

              Elle doit donc avoir :

              - son fichier header serialporttextzone.h (mon deuxième bout de code)

              - son fichier source serialporttextzone.cpp (mon troisième bout de code)

              Au final, tu te retrouves donc avec un projet contenant 3 fichiers.

              =====

              Concernant les erreurs que tu as, je t'avais prévenu que je pouvais en avoir faite quelques uns vu que ce n'est pas vraiment évident de faire un code parfait dans une zone de texte du site du zéro.

              public:
                  void SerialPortTextZone(QWidget *parent);
                  void SerialPortTextZone();

              Il s'agit ici d'une tentative de déclaration du constructeur et du destructeur de la classe.

              On peut y noter 3 erreurs :

              - l'ajout de void alors qu'il ne le faut pas (le constructeur et le destructeur sont des fonctions qui ne retournent rien)

              - l'oublie de la valeur par défaut du paramètre parent (qui doit être un pointeur null)

              - l'oublie du tilde au destructeur (enfin, un oublie ... c'est toi qui l'a retiré, pas moi que l'ai oublié :D )

              Il faut donc mettre :

              public:
                  SerialPortTextZone(QWidget *parent = NULL);
                  ~SerialPortTextZone();

              Note : si tu as aussi supprimé le tilde du .cpp, tu t'invite à le remettre.


              -
              Edité par lorrio 17 septembre 2013 à 0:27:58

              • Partager sur Facebook
              • Partager sur Twitter
                17 septembre 2013 à 14:58:30

                Hello :)

                Arrives tu à faire fonctionner le programme d'exemple que l'on peut suivre dans ce tuto ?

                (Dont tu pourras retrouver les sources complètes ici :) )

                • Partager sur Facebook
                • Partager sur Twitter

                Retrouvez moi sur mon blog et ma chaine Youtube !

                  22 septembre 2013 à 2:00:03

                  Désolé pour le temps de réponse... j'ai été pris par les études.

                  Eskimon : J'avais déjà regarder mais sans résultats c'est pour ca que je reprend depuis le début avec vous pour mieux comprendre le fonctionnement de Qt.
                  Avec mon code actuel (donné en partie par lorrio), j'ai maintenant beaucoup d'erreur du genre :
                  une fois lors du choix du port : - class 'SerialPortTextZone' does not have any field named 'm_serialPort'
                  et plusieur fois :  - 'm_serialPort' was not declared in this scope
                  J'ai que des erreurs dans le fichier serialporttextzone.cpp :(

                  -
                  Edité par DangerousMic 22 septembre 2013 à 2:02:54

                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 septembre 2013 à 10:08:55

                    > j'essaye d'utiliser Qt pour pouvoir communiquer avec ma carte Arduino...

                    > Je sais qu'il faut utiliser QextSerialPort 

                    Hum.

                    En python avec pyserial tu en as pour 12 secondes, pourquoi ne pas utiliser un langage de script pour faire un script ?

                    >>> ser = serial.Serial('/dev/ttyS1', 19200, timeout=1)
                    >>> x = ser.read()          # read one byte
                    >>> s = ser.read(10)        # read up to ten bytes (timeout)
                    >>> line = ser.readline()   # read a '\n' terminated line
                    >>> ser.close()



                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 septembre 2013 à 10:57:12

                      DangerousMic a écrit:

                      Avec mon code actuel (donné en partie par lorrio), j'ai maintenant beaucoup d'erreur du genre :
                      une fois lors du choix du port : - class 'SerialPortTextZone' does not have any field named 'm_serialPort'
                      et plusieur fois :  - 'm_serialPort' was not declared in this scope

                      Et si tu nous re-poster ton code avec les modification que tu y a faite par rapport à celui que je t'ai envoyé ?

                      Petite question aussi : as tu bien ajouté les #include que je n'ai pas mis dans mon code ?

                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 septembre 2013 à 12:52:31

                        Oui j'ai mi les #includes

                        -
                        Edité par DangerousMic 22 septembre 2013 à 12:57:01

                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 septembre 2013 à 0:28:42

                          Voila le code desolé :

                          #include <serialporttextzone.h>
                          #include <QtWidgets/QTextEdit>
                          
                          SerialPortTextZone::SerialPortTextZone(QWidget *parent) :
                              QTextEdit(parent),
                              m_serialPort(new QextSerialPort("COM10"))
                          {
                          
                              if ( !m_serialPort->open( QIODevice::ReadWrite | QIODevice::Unbuffered ) )
                              {
                                  append(tr("Impossible to open port ..."));
                              }
                              else
                              {
                                  m_serialPort->setBaudRate(BAUD9600);
                                  m_serialPort->setFlowControl(FLOW_OFF);
                                  m_serialPort->setParity(PAR_NONE);
                                  m_serialPort->setDataBits(DATA_8);
                                  m_serialPort->setStopBits(STOP_1);
                              }
                          
                              connect(m_serialPort, SIGNAL(readyRead()), this, SLOT(onSerialDataReceived()));
                          
                          }
                          
                          SerialPortTextZone::~SerialPortTextZone()
                          {
                              delete m_serialPort;
                          }
                          
                          void SerialPortTextZone::onSerialDataReceived()
                          {
                              append(tr("RECV : %1").arg(QString::fromUtf8(m_serialPort->readAll()));
                          }



                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 septembre 2013 à 9:53:16

                            Au lieu de tout nous donner au compte goute, ne voudrais tu pas nous donner tout d'un coup bien comme il faut ?

                            A savoir :

                            - le fichier .pro

                            - le(s) fichier(s) .h

                            - le(s) fichiers .cpp

                            - un copie/collé exact (pas uniquement des bouts) des erreurs du compilateur

                            -
                            Edité par lorrio 24 septembre 2013 à 9:54:00

                            • Partager sur Facebook
                            • Partager sur Twitter
                              24 septembre 2013 à 14:21:28

                              Bon okok

                               Fichier .pro :

                              SOURCES += \
                                  main.cpp \
                                  serialporttextzone.cpp
                              
                              INCLUDEPATH += E:/Qt/QextSerialPort
                              QMAKE_LIBDIR += E:/Qt/qextserialport/build
                              
                              CONFIG(debug, debug|release):LIBS += -lqextserialportd
                              else:LIBS  += -lqextserialport
                              
                              HEADERS += \
                                  serialporttextzone.h
                              

                              Fichier serialprottextzone.h

                              #ifndef SERIALPORTTEXTZONE_H
                              #define SERIALPORTTEXTZONE_H
                              #include <QtWidgets/QTextEdit>
                              #include <QextSerialPort/qextserialport.h>
                              
                              #endif
                              
                              class SerialPortTextZone : public QTextEdit {
                              
                                  Q_OBJECT
                              
                                  public:
                                      SerialPortTextZone(QWidget *parent = NULL);
                                      ~SerialPortTextZone();
                              
                                  private slots:
                                      void onSerialDataReceived();
                              
                                  private:
                                      QextSerialPort *port;
                              
                              };


                              Le fichier main.cpp

                              #include <QGuiApplication>
                              #include <QextSerialPort/qextserialport.h>
                              #include <serialporttextzone.h>
                              
                              
                              int main(int argc, char **argv) {
                              
                                  QGuiApplication app(argc, argv);
                              
                                  SerialPortTextZone textZone;
                                  textZone.show();
                              
                                  return app.exec();
                              
                              }
                              


                              Et le fichier serialporttextzone.cpp

                              #include <serialporttextzone.h>
                              #include <QtWidgets/QTextEdit>
                              
                              SerialPortTextZone::SerialPortTextZone(QWidget *parent) :
                                  QTextEdit(parent),
                                  m_serialPort(new QextSerialPort("COM10"))
                              {
                              
                                  if ( !m_serialPort->open( QIODevice::ReadWrite | QIODevice::Unbuffered ) )
                                  {
                                      append(tr("Impossible to open port ..."));
                                  }
                                  else
                                  {
                                      m_serialPort->setBaudRate(BAUD9600);
                                      m_serialPort->setFlowControl(FLOW_OFF);
                                      m_serialPort->setParity(PAR_NONE);
                                      m_serialPort->setDataBits(DATA_8);
                                      m_serialPort->setStopBits(STOP_1);
                                  }
                              
                                  connect(m_serialPort, SIGNAL(readyRead()), this, SLOT(onSerialDataReceived()));
                              
                              }
                              
                              SerialPortTextZone::~SerialPortTextZone()
                              {
                                  delete m_serialPort;
                              }
                              
                              void SerialPortTextZone::onSerialDataReceived()
                              {
                                  append(tr("RECV : %1").arg(QString::fromUtf8(m_serialPort->readAll()));
                              }



                              • Partager sur Facebook
                              • Partager sur Twitter
                                24 septembre 2013 à 14:39:07

                                lorrio a écrit:

                                - le fichier .pro

                                - le(s) fichier(s) .h

                                - le(s) fichiers .cpp

                                - un copie/collé exact (pas uniquement des bouts) des erreurs du compilateur


                                A part cela, avec ce que tu as donné, voici quelques questions qui te permettront de corriger tes erreurs ;)

                                Fichier .h, ligne 6 : Pourquoi ce #endif est ici et non à la fin du fichier ?

                                Fichier .h, ligne 20 : Pourquoi ton attribut SerialPort se nomme "port" alors que tu utilises le nom "m_serialPort" dans le fichier .cpp ?

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  24 septembre 2013 à 15:45:45

                                  J'ai corrigé certaines erreurs dont celles que tu viens de me donner. J'ai pas fait attention à mon #endif et pour l'attribut... c'étais LA principale erreur --' il me semblait l'avoir corrigé pourtant mais bon.


                                  J'ai à la compilation une seule erreur :

                                  erreur : cannot find -lqextserialportd

                                  erreur : error: ld returned 1 exit status

                                  Cela vient du fichier .pro il me semble...

                                  -
                                  Edité par DangerousMic 24 septembre 2013 à 15:46:18

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    24 septembre 2013 à 17:32:12

                                    Il ne trouve tout simplement pas la lib qextserialportd.

                                    A partir de là, on peut se poser plusieurs questions :

                                    ===== 1.

                                    As tu bien compilé la lib QExtSerialPort ?

                                    (un screen des dossiers QExtSerialPort et QExtSerialPor/build serait bienvenu pour en juger)

                                    ===== 2.

                                    Les chemins sont-ils correct ?

                                    La réponse est très certainement non car je trouve très étrange que tu ai 2 dossiers de lib (l'un sans majuscule, l'autre avec) :

                                    INCLUDEPATH += E:/Qt/QextSerialPort
                                    QMAKE_LIBDIR += E:/Qt/qextserialport/build
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      24 septembre 2013 à 19:50:28

                                      C'est un bout de code que j'ai récupérer des exemples, à quoi servent exactement ces deux ligne ?

                                      Voila pour les screens :

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        24 septembre 2013 à 23:06:02

                                        La première sert à ajouter un dossier contenant des fichier .h pour les #include

                                        La seconde sert à ajouter un dossier contient des fichier .a (ou .lib) pour le linkage de la lib.

                                        Sauf que ce n'est pas vraiment QMAKE_LIBDIR qu'il te faudrait utiliser.

                                        =====

                                        A voir ton architecture, ton fichier pro devrait plutôt être :

                                        TEMPLATE = app
                                        
                                        HEADERS += \
                                            serialporttextzone.h
                                        
                                        SOURCES += \
                                            main.cpp \
                                            serialporttextzone.cpp
                                         
                                        INCLUDEPATH += E:/Qt/qextserialport/src/
                                        
                                        LIBS += -LE:/Qt/qextserialport/build/
                                         
                                        CONFIG(debug, debug|release):LIBS += -lqextserialportd1
                                        else:LIBS  += -lqextserialport1

                                        On peut y noter quelques différences :

                                        - correction des minuscules/majuscules et ajout de /src dans le chemin INCLUDEPATH

                                        - changement du QMAKE_LIBDIR en LIBS += -L

                                        - Ajout d'un 1 dans LIBS += -l

                                        Notons que ton dossier ne contient pas la version release de la lib.

                                        Donc tu ne pourrais pas compiler en projet en release mais seulement en debug.

                                        -
                                        Edité par lorrio 24 septembre 2013 à 23:07:42

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          25 septembre 2013 à 0:25:23

                                          OKok je vois... par contre à quoi sert le 1 rajouté dans LIBS += -l ?

                                          J'ai donc ajouté les corrections et là, j'arrive dans une situation dans laquelle je suis déjà tombé en suivant les tutos avant de venir dans le forum...

                                          J'ai des erreurs partout ! 69 au total et c'est que des erreurs particulières :(

                                          Je vais en donner quelques unes :

                                          main.cpp

                                          erreur : undefined reference to `_imp___ZN7QWidget4showEv'   (à la ligne   textZone.show();   )

                                          serialporttextzone.cpp

                                          erreur : undefined reference to `_imp___ZN9QTextEditC2EP7QWidget'    (à la ligne   m_serialPort(newQextSerialPort("COM10"))  )

                                          erreur : undefined reference to `_imp___ZN9QTextEdit6appendERK7QString'    (à la ligne   append(tr("Impossibletoopenport..."));)

                                          Et j'en passe... elles sont toutes similaires et les erreurs proviennent de "serialporttextzone". J'ai même un fichier écrit en héxa dans les erreurs (fichier serialporttextzone.o)

                                          Encore merci lorrio pour ta patience et ton partage de connaissance :)

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            25 septembre 2013 à 8:07:00

                                            Dans ton dossier build, on voit que tes fichiers lib se nomme respectivement libqextserialportd1.a et libqextserialportd1.dll

                                            Donc il te faut mettre : LIBS += -lqextserialportd1

                                            Le d indique qu'il s'agit d'une version de debug, c'est pour cela que je t'ai dis que tu ne pourras pas compiler en release.

                                            Concernant les autres erreurs, le compilateur te dit qu'il ne trouve pas les fonctions QWidget::show, QTextEdit::QTextEdit et QString::append.

                                            Si il ne les trouve pas, c'est tout simplement que tu n'as pas ajouté la lib Qt à ton projet (oui, même pour un projet avec QtCreator, il faut spécifier que tu veux utiliser la lib Qt).

                                            Au tout début de ton .pro, ajoutes ceci : QT += core gui

                                            -
                                            Edité par lorrio 25 septembre 2013 à 8:09:04

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              25 septembre 2013 à 13:07:12

                                              D'accord je comprend mieux :)

                                              Par contre, QT += gui n'a rien changé j'ai donc essayé QT+=widgets et ça marche ! Mon programme compile sans erreur. J'ai aucune fenetre qui s'ouvre mais juste un message en rouge "Le programme s'est terminé subitement"

                                              Mais le principale est que j'ai plus d'erreur, c'est déjà une bonne chose !

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                25 septembre 2013 à 13:14:26

                                                Si tu lances en debug tu devrais pouvoir voir où est-ce qu'il se terminer subitement non ?

                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                Retrouvez moi sur mon blog et ma chaine Youtube !

                                                  25 septembre 2013 à 14:14:56

                                                  En ce qui concerne le QT +=, cela dépend de ta version de Qt.

                                                  Avec ce que tu viens de dire, je peux en déduire que tu utilises Qt 5.x et non Qt 4.x :)

                                                  =====

                                                  Pour ce qui est de l'erreur, à tous les coups, c'est une erreur de DLL non présente.

                                                  Il te faut placer la DLL libqextserialportd1.dll dans le dossier de travail de ton exécutable.

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    25 septembre 2013 à 16:08:03

                                                    J'ai remarqué que le passage à la version 5 de Qt avait changé beaucoup de chose.

                                                    C'est justement ce que j'étais entrain de régler mais ca fait un peu beaucoup de de fichier qui me manque je trouve...

                                                    J'ai mis qextserialportd1.dll et j'ai du télécharger QtCored4.dll , msvcp100D.dll , mingwm.dll et maintenant je telecharge msvcr100d.dll...

                                                    J'espere que sa va s'arreter vite. C'est normal ?

                                                    EDIT :

                                                    Eskimon : Le probleme ne vient plus du code mais des fichiers :)

                                                    Maintenant au lancement j'ai une fenetre "Point d'entrée introuvable" 

                                                    "Le point d'entrée de procédure _Z5qFreePv est introuvable dans la bibliothèque de liens dynamiques"

                                                    -
                                                    Edité par DangerousMic 25 septembre 2013 à 16:31:47

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      25 septembre 2013 à 18:28:50

                                                      Normalement, tu n'as pas à télécharger ces DLL ...

                                                      Elles sont fournies avec Qt.

                                                      D'ailleurs, télécharger ces fichiers, c'est prendre le risque de télécharger une mauvaise version ...

                                                      Je te conseille vivement de faire un CTRL+F des DLL qu'il te faut donc le dossier Qt de ton ordinateur.

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        25 septembre 2013 à 18:44:30

                                                        Mais l'affichage de l'erreur pointe vers mon fichier qextserialportd1.dll...

                                                        De plus, il m'avait demandé le fichier QtCored4 alors qu'il devrait plutot me demander le fichier Qt5Cored.dll qui, celui là, est dans mes fichiers de Qt.

                                                        Je pense que mon projet Qt a un problème de configuration... je pense.


                                                        EDIT

                                                        En regardant les fichiers de Qt, je suis tombé sur une bibliothèque QtSerialPort. J'ai effectué une recherche et la version 5 de Qt intègre une bibliothèque de communication sur port série --'

                                                        -
                                                        Edité par DangerousMic 25 septembre 2013 à 18:48:58

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          25 septembre 2013 à 19:04:50

                                                          Aha !
                                                          J'allais poster la dernière ligne que tu as écrite :p (pour m'en être rendu compte un peu tard moi aussi ! :p )
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            25 septembre 2013 à 19:34:35

                                                            Je pense que, dû à l'incompatibilité de qExtSerialPort sur Qt 5, il va falloir que je me concentre sur la nouvelle bibliothèque -_-

                                                            Je me trompe ? :)

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              25 septembre 2013 à 19:54:58

                                                              Faudrat que je refasse la partie du tuto voie série sur Qt5 ca veut dire :(

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Retrouvez moi sur mon blog et ma chaine Youtube !

                                                              Communication Série Qt avec QextSerialPort Arduino

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown