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

C Discussion :

Conversion unsigned long en chaine de caract


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut Conversion unsigned long en chaine de caract
    Bonsoir,

    Alors voila je desire transmettre par la liaison serie un tableau de uint32 dans lequel se trouve des datas, un numero de sequence ainsi qu'un checksum.
    Mon probleme est que le driver que je dois utiliser ne peut prendre en argument qu'un pointeur de chaine.
    Auriez vous une idée pour la conversion ?


    Merci d'avance

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par MeWaa Voir le message
    Mon probleme est que le driver que je dois utiliser ne peut prendre en argument qu'un pointeur de chaine.
    Ce serait étonnant. Ce n'est pas parce qu'une fonction d'émission (surtout réseau !!!) possède un paramètre "char*" pour son buffer qu'elle ne prends que des chaînes ASCII... Loin de là, même. Encore moins s'il y a, en plus, un paramètre contenant la longueur du buffer à envoyer.

    Au prix d'un cast sauvage, tu devrais pouvoir envoyer n'importe quel buffer binaire sur ta liaison série.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    C'est ce que j'avais fait au debut mais une erreur ce produisait lorsque j'observais la trame sur un terminal.
    Mon pattern (0xA5A5A5A5) etait bien envoyé mais lorsque que la trame arrivait au numero de sequence elle devenait corrompue. Apres plusieurs teste je me suis rendu compte que l'envoie successif de deux octets nul rendait la suite de la trame fausse.
    Je ne sais pas si cela intervient sur chaque liaison série RS485 ou si cela est un problème au niveau hard.

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par MeWaa Voir le message
    Je ne sais pas si cela intervient sur chaque liaison série RS485 ou si cela est un problème au niveau hard.
    Normalement, il n'y a aucune raison que plusieurs octets nuls émis aient un comportement étrange : c'est une valeur tout à fait légitime, qui n'est pas un Break ou autre truc plus ou moins obscur.

    Tu utilises quelle librairie pour ta communication ? Sur quel OS/CPU ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    J'ai realisé une fonction de reception au lieu d'utiliser Gtkterm (hyperterm).
    Les trames recues sont bonnes donc le probleme venait du terminal ce qui est assez surprenant.

    Pour infos : Hote : Pc Linux (fedora)
    Cible : carte embarqué tournant sous un OS TR Integrity

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    Mais bon maintenant un nouveau probleme est apparue.

    J'envoie deux trames de 128bits et j'en reçoie une seule de 256.
    Y a t il un moyen de recevoire deux trame de 128 ou dois je separer manuellement les trames ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/04/2009, 20h17
  2. Réponses: 1
    Dernier message: 17/10/2007, 14h01
  3. Conversion d'une chaine de caractères en unsigned long
    Par radouane_as dans le forum Débuter
    Réponses: 2
    Dernier message: 15/08/2007, 19h21
  4. Conversion chaine de caract -> flottant
    Par Blackmouse dans le forum C
    Réponses: 7
    Dernier message: 19/04/2006, 10h34
  5. Réponses: 10
    Dernier message: 22/05/2004, 13h51

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