Votre question

[QT] Envoi d'un fichier sur le port série RS232

Tags :
  • Logiciels
  • Programmation
Dernière réponse : dans Programmation
10 Mai 2010 16:09:43

Bonjour à tous :pt1cable: 
Je vous solicite car je dois à l'aide du logiciel Qt, crée une interface avec un bouton (tout simple ^^), mais en appuyant sur se bouton me permettra d'envoyer un fichier choisi sur la liaison RS232.
J'ai entendu parler de la librairie QExtSerial, mais je ne l'ai pas dans mon logiciel QT cela est-il normal?!
Pouriez vous me guider sur la réalisation de se petit interface ?
Je vous remercie d'avance :bounce: 

Autres pages sur : envoi fichier port serie rs232

11 Mai 2010 09:38:01

J'ai réussi a réaliser cette nuit une petite interface qui me permet d'envoyer des caractère sur le port série, mais je voudrais maintenant pouvoir envoyer un fichier complet, j'ai modifier mon code comme suit pour ma fonction d'envoie:

  1. void QSerialPortTerminal::slot_sendPort()
  2. {
  3. QString Message;
  4. Message = QFileDialog::getOpenFileName(this, tr("Ouvrir fichier hex"),
  5. "D:/",
  6. tr("hex files (*.hex)"));
  7.  
  8. if (!Message.isEmpty())
  9. loadFile(Message);
  10.  
  11. QByteArray temp(Message.toUtf8());
  12. serialPort->sendData(temp);
  13.  
  14. lineEditSend->clear();
  15. }


Mais comment faire pour remplire mon buffer Message avec le fichier que je veux envoyer ?

j'ai réaliser une focntion loadfile qui me permet cela mais je n'arrive pas a la réaliser, pour le moment mon code ressemble à cela :

  1. void QSerialPortTerminal::loadFile(const QString &fileName)
  2. {
  3. /************************** ECRITURE DES PROGRAMMES **********************************/
  4. QFile filePRG;
  5. bool ok;
  6. QString tmp_image;
  7.  
  8. QString line;
  9. QStringList list[54];
  10.  
  11. int i,e,s,p;
  12. int nb_exercices,nb_sequences,nb_positions;
  13.  
  14. QFile file(fileName);
  15. QString resultat;
  16. QString tmp;
  17. int line_number;
  18. QTextStream out;
  19.  
  20. if (!file.open(QFile::ReadOnly)) {
  21. QMessageBox::warning(this, tr("Chargement hex"),
  22. tr("Impossible de lire le fichier %1:\n%2.")
  23. .arg(fileName)
  24. .arg(file.errorString()));
  25. return;
  26. }
  27.  
  28. QTextStream in(&file);
  29.  
  30. line_number = 0;
  31.  
  32. while(in.atEnd()==false)
  33. {
  34. line = in.readLine(0);
  35. //line = line.toLower();
  36. list[line_number] = line.split(";");
  37. line_number = line_number + 1;
  38. }
  39. file.close();
  40. }


Il faut que je modifie mon loadfile à partire du While pour remplire correctement mon buffer, pouvez vous m'aider svp?
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS