le 11-18-2015 09:15 AM
Bonjour,
J'utilise le C232HM-EDHSL-0 de ftdi (avec AD5933) et j'aimerai faire une communication USB-I2C en utilisant le pmodia.
J'utilise le code de base du chip et le write fonctionnement parfaitement (je peux écrire un byte ou une séquence de byte sans probleme). Cependant, pour le read, je ne parviens pas a lire une séquence de bytes. je respecte parfaitement la sequence d'écriture présentée dans le datasheet de l'AD5933
Quelqu'un aurait il une idée de ce qui marche pas?
Merci.
le 11-19-2015 06:03 AM
Bonjour,
Les fonctions Visa Write ou Read renvoient-elles une erreur particulières (cablez les sorties d'erreurs et utilisez une gestionnaire d'erreur simple ou, au moins, un indicateur d'erreur). Avez-vous utilisez des codes d'exemples utilisant Visa Read pour créer votre application? Parvenez-vous à utilisez ces exemples avant toute modification?
Si vous avez effectué toutes ces vérifications, alors le pb est dans la syntaxe de vos trames. Je vous suggère de contacter le support de FTDI pour leur demander des conseils / exemples : http://www.ftdichip.com/FTSupport.htm
Cordialement,
Pierre-Emmanuel BELLES
Certified LabVIEW Developper
Certified TestStand Architect
le 11-19-2015 03:33 PM
J'ai utilisé le code fourni par FTDI (I2CTEST) afin de le faire. Le write et le read marche parfaitement pour un seul byte envoyé. Mais lorsque je veux le faire pour une serie de bytes, le write marche et pas le read.
J'ai cette instruction qui me fait croire que j'ai un seul byte a envoyer(OutputBuffer[dwNumBytesToSend++] = '\x00'; //Data length of 0x0000 means 1 byte data to clock in) . Mais en regardant dans des forums et en remplacant '\x00' par '\x01' ou '\xFF', ca change pas grand chose.
le 11-23-2015 04:43 AM
Bonjour,
J'ai utilise un module UM232H-B et j'ai eu ce genre de problème pour la lecture d'une memoire. Le lecture fonctionnait byte par byte mais pas en sequentiel.
En fait, le probleme venait du bit d'acquittement ACK renvoyé par le maitre entre chaque donnée qui ne respectait pas le timing demandé, et donc seul le premier byte passait.
Apres avoir dit ca, il s'agit de remplir OutputBuffer avec la bonne sequence de commandes MPSSE, et ca bon courage.