utilisateur d'FT232BM D2XX ?
Modérateur : Modérateur
je donne des nouvelles du front.
j'y ai cru après avoir lu la doc dans tous les sens, voici ou j'en suis:
FT_HANDLE ftHandle;
FT_STATUS ftStatus;
USHORT Dta;
Dta=0x400;
DWORD BytesWritten;
//j'ouvre le dialogue
ftStatus = FT_Open(0,&ftHandle);
//je fixe la vitesse de transfert
ftStatus = FT_SetDivisor(ftHandle,Dta);
//j'enable bit-bang mode tout en sortie
ftStatus = FT_SetBitMode(ftHandle,0xff,0x1);
char car[1000];
for (int i = 0 ; i < 1000 ;i++)
{car=0; // je rempli une chaine avec un zero
i++;
car=16; }// puis un un la ou il faut
ftStatus = FT_Write(ftHandle,car,10,&BytesWritten);
Là j'en écris 10 et bien ça marche j'ai réussi, euréka !!
kaka si j'en écris 100, j'ai des temps qui s'intercalent!
et par conséquent un signal dégueux.
bon, j'en est un peu lourd sur la patate. suite à la prochaine.
j'y ai cru après avoir lu la doc dans tous les sens, voici ou j'en suis:
FT_HANDLE ftHandle;
FT_STATUS ftStatus;
USHORT Dta;
Dta=0x400;
DWORD BytesWritten;
//j'ouvre le dialogue
ftStatus = FT_Open(0,&ftHandle);
//je fixe la vitesse de transfert
ftStatus = FT_SetDivisor(ftHandle,Dta);
//j'enable bit-bang mode tout en sortie
ftStatus = FT_SetBitMode(ftHandle,0xff,0x1);
char car[1000];
for (int i = 0 ; i < 1000 ;i++)
{car=0; // je rempli une chaine avec un zero
i++;
car=16; }// puis un un la ou il faut
ftStatus = FT_Write(ftHandle,car,10,&BytesWritten);
Là j'en écris 10 et bien ça marche j'ai réussi, euréka !!
kaka si j'en écris 100, j'ai des temps qui s'intercalent!
et par conséquent un signal dégueux.
bon, j'en est un peu lourd sur la patate. suite à la prochaine.
Dernière modification par hdan le 06 mai 2005 13:35, modifié 1 fois.
Après de multiple essai de long en large en mode port rs232 virtuel
en mode bit bang en essayant de truander a droite et a gauche,
j'abandonne
mais j'ai
je vais acheter un ft2232c en espérant que lui va fonctionner correctement.
sinon je vais être obliger de passer par une étape intermédiaire
du style un ft232bm qui donne des ordres a un atmel.
en conclusion:
le ft232bm est très bien (si si) pour faire du rs232 standard.
sortie de cette ornière, oublier
a+
en mode bit bang en essayant de truander a droite et a gauche,
j'abandonne
mais j'ai
je vais acheter un ft2232c en espérant que lui va fonctionner correctement.
sinon je vais être obliger de passer par une étape intermédiaire
du style un ft232bm qui donne des ordres a un atmel.
en conclusion:
le ft232bm est très bien (si si) pour faire du rs232 standard.
sortie de cette ornière, oublier
a+
Dernière modification par hdan le 12 mai 2005 9:32, modifié 2 fois.
Salut,
J'ai mis en oeuvre le module USBMOD2 de FTDI avec Delphi 7 en utilisant le driver D2XX (utilisation de ftd2xx.dll).
J'ai essayé le mode port rs232 virtuel sans succés mais en utilisation USB ça marche.
L'exemple fournis sur le site de FTDI ne m'a pas beaucoup servit, j'ai plutot pioché ici :
http://perso.wanadoo.fr/asnora/sx/USB/usibix.htm
il s'agit d'un module usb parallèle, peut-etre est-ce plus simple qu'un FT232...
@+
Maël
J'ai mis en oeuvre le module USBMOD2 de FTDI avec Delphi 7 en utilisant le driver D2XX (utilisation de ftd2xx.dll).
J'ai essayé le mode port rs232 virtuel sans succés mais en utilisation USB ça marche.
L'exemple fournis sur le site de FTDI ne m'a pas beaucoup servit, j'ai plutot pioché ici :
http://perso.wanadoo.fr/asnora/sx/USB/usibix.htm
il s'agit d'un module usb parallèle, peut-etre est-ce plus simple qu'un FT232...
@+
Maël
Salut maël,
je te remerci pour le site.
en fait si l'on utilise le bit bang mode sans avoir besoin de timing pas de problème.
lors de l'envoie d'une commande '1' aproximativement 1ms plus tard la broche voulue se met à 1.
si t'envoie 010101
tu vas les voir au niveau des broches par contre tous les 1 n'auront pas forcément la même durée. du moins c'est apparemment comme ça pour le 232bm.
je te remerci pour le site.
en fait si l'on utilise le bit bang mode sans avoir besoin de timing pas de problème.
lors de l'envoie d'une commande '1' aproximativement 1ms plus tard la broche voulue se met à 1.
si t'envoie 010101
tu vas les voir au niveau des broches par contre tous les 1 n'auront pas forcément la même durée. du moins c'est apparemment comme ça pour le 232bm.
Peut-être qu'il s'agit d'une mauvaise configuration des timeouts.
Si je paramètres les timeout sur 5000 ms comme ceci :
Set_USB_Device_TimeOuts(5000,5000);
J'aurais un delais de 5 secondes entre le moment ou j'envoie l'info avec le module et le moment ou je recoit celle-ci dans mon programme. Pour l'envoie, ca reste instantané (je n'ai pas fait de mesure de vitesse).
@+
Maël.
Si je paramètres les timeout sur 5000 ms comme ceci :
Set_USB_Device_TimeOuts(5000,5000);
J'aurais un delais de 5 secondes entre le moment ou j'envoie l'info avec le module et le moment ou je recoit celle-ci dans mon programme. Pour l'envoie, ca reste instantané (je n'ai pas fait de mesure de vitesse).
@+
Maël.