Pb driver USB

Signaler
Messages postés
7
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
9 avril 2009
-
Messages postés
7
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
9 avril 2009
-
Bonjour,
Je voudrais savoir, si quelqu'un à déja créer un driver USB sous borland, ou si vous auriez réussi à trouver des infos sur usbprint.sys  (son code) car je ne trouve rien de très intéressant..

Cordialement

2 réponses

Messages postés
7
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
9 avril 2009

Bonjour,
finalenement je n'est pas créer un driver, je contrôle grâce à createfile mon convertisseur USB port parallèle qui fonctionne bien. Mais quand je veut faire une simple écriture avec Writefile, le pb c'est que je suis obligé d'intercaller un reset_soft (je ne sais pas exactement ce qu'il fait) entre chaque écriture pour que sur le port parallèle je puisse voir les valeur envoyer.
Le driver utilisé est USBprint et la config. du port parallèle est:
connection Busy et PE à la masse via une resistance
connection SLCT et ERROR à INIT via une resistance
voici ce que je suis obligé de faire:

char command12 = 0x55;
char command22 = 0xAA;
char command32 = 0x04;

/*Marche que la première fois si le programme n'arrive pas jusqu'au reset*/
bool a = WriteFile(USBhandle, &command12, 1, &written, NULL);
ShowMessage(SysErrorMessage(GetLastError())+" command12 0x01");    

 a = WriteFile(USBhandle, &command22, 1, &written, NULL);           DeviceIoControl(  USBhandle,
                IOCTL_USBPRINT_SOFT_RESET, //Renvoie true si OK
                NULL,
                0,
                &temp,
                255,
                &written,
                NULL
                );
// message d'erreur
ShowMessage(SysErrorMessage(GetLastError())+" reset");


 a = WriteFile(USBhandle, &command22, 1, &written, NULL);
// message d'erreur
ShowMessage(SysErrorMessage(GetLastError())+" command2");
DeviceIoControl(  USBhandle,
                IOCTL_USBPRINT_SOFT_RESET, //Renvoie true si OK
                NULL,
                0,
                &temp,
                255,
                &written,
                NULL
                );


a = WriteFile(USBhandle, command3, 3, &written, NULL);
// message d'erreur
ShowMessage(SysErrorMessage(GetLastError())+" command3");


bool IoctlReset = DeviceIoControl(  USBhandle,
                                IOCTL_USBPRINT_SOFT_RESET, 
                                NULL,
                                0,
                                &temp,
                                255,
                                &written,
                                NULL
                              );
// message d'erreur
ShowMessage(SysErrorMessage(GetLastError())+" RESET");

Si ce n'est pas clair n'hésitez pas à me le dire.
Messages postés
7
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
9 avril 2009

Ou sinon, à la place des reset il faut mettre à 0 la ligne Busy. Mais je ne vois pas comment le commander logiciellement sachant que je ne sais écrire que sur les broches de données (D0 à D7). Mais les broches de données sont passées au niveau 1 à busy donc je pense rester bloquer.