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

  FORUM HardWare.fr
  Programmation
  C

  pb d'arg avec ioctl pour une rs232 en mode RAW

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb d'arg avec ioctl pour une rs232 en mode RAW

n°826118
Shooting S​tar
Posté le 18-08-2004 à 21:37:43  profilanswer
 

salut
 
je developpe un logiciel en c sur noyau vxworks avec cible PPC604.
J'utilise une rs232 en Raw car protocole propriétaire avec un periph externe.
pour ne pas bloquer le soft, avant d'utiliser le read, je rgarde le nombre d'octet contenu dans le buffer de l'uart. Mon pb est que le troisieme arg de ioctl(FD,FIONREAD, int ...) est un int alors que les exemples montre un pointeur ??§§§§!!!!
donc soit j'ai pas la bonne lib supplementaire soit j'ai pas pigé un truc. D'ailleurs le compilo m'indique qu'il force le cast d'un pointeur vers un int.
 
merci d'avance
 
 

mood
Publicité
Posté le 18-08-2004 à 21:37:43  profilanswer
 

n°826185
printf
Baston !
Posté le 18-08-2004 à 22:54:04  profilanswer
 

Il me semble que l'ioctl() de VxWorks traite le troisième argument comme un pointeur, bien que ce soit un int [:ddr555]

n°826207
Shooting S​tar
Posté le 18-08-2004 à 23:08:42  profilanswer
 

a priori non car à la compil j'ai un warning:  
"arg3 makes pointer to integer without cast". je pense qu'il me manque la bonne lib....  mais laquelle ?
 
surtout que tous les exemples que je vois traite la focntion avec un pointeur.

n°826215
Shooting S​tar
Posté le 18-08-2004 à 23:11:51  profilanswer
 

j'ai aussi un doute sur le mode RAW et LINE l'un n'est pas bufferisé l'autre si. comme j'utilise ioctl avec FIONREAD pour recuperer le nombre d'octets non lus dans le buffer, le mode RAW me laisse perplexe.
Le mode LINE n'est pas compatible avec mon protocole de messages.

n°826350
printf
Baston !
Posté le 19-08-2004 à 00:17:31  profilanswer
 

Shooting Star a écrit :

a priori non car à la compil j'ai un warning:  
"arg3 makes pointer to integer without cast". je pense qu'il me manque la bonne lib....  mais laquelle ?
 
surtout que tous les exemples que je vois traite la focntion avec un pointeur.


 
C'est que je viens de dire :p
Le prototype spécifie un int, qui est utilisé comme un "arbitrary argument" selon la doc. Tu peux lui passer un pointeur.

n°827149
Shooting S​tar
Posté le 19-08-2004 à 20:25:15  profilanswer
 

j'ai trouve la solution.
en fait pour faire disparaitre le warning il faut forcer le cast avec (int) sur l'adresse de la donnée.Et effectivement il faut passer une adresse.
neanmoins la fonction ne marche pas si la taille du parametre passé par adresse n'est pas la meme que celle de int (meme avec un cast).
 
Dans mon cas le int est un long int (powerpc604) et j'avais declaré un short int en pensant que le int de base etait de ce type.
 
merci de ta contribution.


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

  pb d'arg avec ioctl pour une rs232 en mode RAW

 

Sujets relatifs
Pb de safe mode sur une galerie 4imagesPetite question à propos de l'accès en mode binaire des fichiers...
fonctions VESA en mode protégépointeur en mode in out
[debutant] affichage en mode consoleEffacer l'écran en mode console [Résolu]
Méthodes de gestion du mode adminInstallation en mode "silent" ou "tâche de fond" avec AutoIt...
Le mode réel et le mode protégé 
Plus de sujets relatifs à : pb d'arg avec ioctl pour une rs232 en mode RAW


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