Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1676 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  ecriture sur port serie

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ecriture sur port serie

n°1716171
zsxwqa
Posté le 11-04-2008 à 12:11:44  profilanswer
 

salut tlm,
 
j'ai ecrit un programme qui me permet de commander un port serie pour pouvoir zapper sur le télé.
mais quand je lance le programme rien ne se passe est ce que ça a une relation avec lirc.
en fait je travaille sous linux et je programme en c++
merci d'avance

mood
Publicité
Posté le 11-04-2008 à 12:11:44  profilanswer
 

n°1716296
_darkalt3_
Proctopathe
Posté le 11-04-2008 à 14:20:08  profilanswer
 

poste ton code


---------------
Töp of the plöp
n°1716433
zsxwqa
Posté le 11-04-2008 à 16:27:51  profilanswer
 

salut,
le code est tres compliqué mais voici quelques lignes:
QString mot; // avec mot est de la forme "0001111000......"
pour l'envoyer sur le port serie j'ai fait:
port->write(mot.toStdString().c_str()); // c'est à dire j'ai la converti en const char*
mais rien ne se passe malgré que le code ne contient pas d'erreur. je pense que le probleme vient de write.
 

n°1716600
_darkalt3_
Proctopathe
Posté le 12-04-2008 à 08:36:04  profilanswer
 

Vérifie le code de retour de write, vérifie que ton protocole est ok, passe le debugger, utilises un espion de port série pour voir si quelque chose passe vraiment par là ...
 
Comment veux tu de l'aide si tu penses savoir où est l'erreur mais sans rien montrer ?


---------------
Töp of the plöp
n°1716606
zsxwqa
Posté le 12-04-2008 à 09:31:13  profilanswer
 

Ok darkalt3, mais j'ai une question à poser je vais envoyer sur le port serie une chaine de caractere qui va etre par la suite traitée par celui-ci.
alors je veux envoyer à chaque fois le caractere correspondant à 0x12 (18 en decimal) alors j'ai ecrit ça  :      QString s1="\x12"; en travaillant sur visual c++(windows) il m'affiche un caractere mais sur linux il ne m'affiche rien.
alors la question comment obtenir le caractere correspondant à 0x12.
sachat que je suis debutante en programmation
 

n°1716636
_darkalt3_
Proctopathe
Posté le 12-04-2008 à 12:10:41  profilanswer
 

QString est une suite de caractères, peut etre unicode si tu as l'option activée par défaut ou que tu l'as explicitement choisi, ce qui signifie que tes caractères ne sont peut pas nécessairement codés sur 8 bits comme ton objet de port série s'y attend sans doute.

 

Choisi de balancer uniquement des char sur ton port série.

 

Tu peux tenter très basiquement avec quelque chose du genre:

Code :
  1. char mystring[2];
  2. memset(mystring, '\0', 2);
  3. mystring[0] = 0x12;
  4. port->write(mystring);


Message édité par _darkalt3_ le 12-04-2008 à 12:11:41

---------------
Töp of the plöp
n°1717017
xilebo
noone
Posté le 13-04-2008 à 21:13:09  profilanswer
 

Est ce que tu as bien ouvert ton port série avec les bons paramètres (vitesse, parité, etc...) ?
 
Est ce que le module lirc est bien activé ? (as tu une application utilisant lirc et qui fonctionne)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  ecriture sur port serie

 

Sujets relatifs
Calculer volume de données port sérieécriture de OU en javascript
plusieurs couleurs d'écriture dans un meme comboboxSurveiller un port virtuel en actionscript
[résolu] vista mingw, pb transfert série via adaptateur usb-sérieConcaténation de chaînes, problème avec langues sens d'écriture ≠
Actualiser une iframe lors de l'ecriture sur dans la tableComment créer un script de formulaire d'ecriture d'article
Interfacage serie RS 232ecriture sur port serie [URGENT]
Plus de sujets relatifs à : ecriture sur port serie


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR