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 :

Réception de données via driver FTDI


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 42
    Par défaut Réception de données via driver FTDI
    Salut ,

    Je développe une application qui communique avec via l'USB vers un périphérique conçu avec une puce USB FTDI.

    Voici les deux méthodes de lecture que propose le driver de la puce :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public FTDI.FT_STATUS Read(byte[] dataBuffer, uint numBytesToRead, ref uint numBytesRead);
    public FTDI.FT_STATUS Read(out string dataBuffer, uint numBytesToRead, ref uint numBytesRead);
    Toute l'application et tout le boitier fonctionne en byte.

    Je ne comprends pas pourquoi la variable d'entrée (dataBuffer) de la première méthode n'est pas ref ou out. Faut il utiliser les pointer (et déclarer le code unsafe) ?

    Jusque là j'utilisais la seconde méthode qui demande un "String", je faisait des conversions par la suite pour avoir les données sous forme de byte. Mais j'ai rencontré un soucis.

    Le plus simple pour moi serait d'utiliser la première méthode, mais je ne vois pas du tout comment faire (pointeurs, unsafe, etc...) et ce que cela implique (droits spéciaux pour lancer l'application ?).

    Merci d'avance pour vos réponses.

    A+

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 42
    Par défaut
    J'ai réglé le soucis, je vous fais partager la technique au cas où ça intéresserait quelqu'un.

    Je ne sais absolument pas pourquoi (si quelqu'un a la réponse), mais il suffit de passer un tableau à la méthode sans utiliser ref ni out, elle se chargera de le remplir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    byte[] monTableau = new byte[10];
    uint numBytesRead = 0;
     
    ftdi.Read(monTableau, 10, ref numBytesRead);

  3. #3
    Membre éprouvé Avatar de monnoliv
    Homme Profil pro
    Opticien-ébéniste: lunettes de WC
    Inscrit en
    Août 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opticien-ébéniste: lunettes de WC

    Informations forums :
    Inscription : Août 2003
    Messages : 139
    Par défaut
    Salut,
    En C#, un tableau est toujours passé en ref !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 42
    Par défaut
    Ok

    Merci pour la précision

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. réception données via un port serie
    Par THIB46 dans le forum VC++ .NET
    Réponses: 4
    Dernier message: 17/06/2015, 09h51
  2. [Débutant] Réception de données via port Série RS232
    Par enatiwoe dans le forum VB.NET
    Réponses: 3
    Dernier message: 07/04/2014, 10h20
  3. Réception de données via page PHP
    Par drick35 dans le forum Android
    Réponses: 4
    Dernier message: 21/12/2012, 02h49
  4. envoi et réception des données via serial port
    Par azert2010 dans le forum C#
    Réponses: 2
    Dernier message: 09/05/2011, 23h53
  5. Problème de réception de données via QTcpSocket
    Par bilou_2007 dans le forum Débuter
    Réponses: 12
    Dernier message: 16/04/2011, 20h45

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