rens_olivier
Messages postés7Date d'inscriptionjeudi 2 juin 2005StatutMembreDernière intervention27 octobre 2005
-
2 juin 2005 à 18:40
amirrazi506 -
27 juil. 2007 à 20:02
Bonjour à tous,
je cherche à developper une communication USB vers un systeme electronique (composé d'un pic 16C745).
Comment faire pour lire et ecrire sur le port USB dans un environnement Windows?
existe-t-il des librairies ou exemples de code (langage indifferent: delphi, C...) qui permettraient d'interroger les ports USB?
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 2 juin 2005 à 23:23
salut,
commence par rechercher sur site a USB,
ensuite les composants pour USB sont livrés avec leur divers et les dll permettant de le utiliser
enfin pour ma part j'utilise un convertisseur USB --> RS232 pour
piloter une carte à microcontroleur. Ceci permet entre autre de
convevoir des applis non dediées.
rens_olivier
Messages postés7Date d'inscriptionjeudi 2 juin 2005StatutMembreDernière intervention27 octobre 2005 3 juin 2005 à 10:19
j'ai recherché sur les sites USB, mais je n'ai pas trouvé de librairies à ce sujet. Ou alors ces librairies sont payantes.
Le probleme est que le systeme electronique réalisé n'a pas de driver, c'est une realisation amateur. (il permet de detecter un signal d'interruption et d'enregistrer la date de ceux ci)
la premiere solution a laquelle je pensais est de realiser un driver (logiciel windriver), mais je crains que cette methode ne soit pas portable, et la realisation d'un driver n'est pas si evidente.
La deuxieme solution sur laquelle je travaille, et de faire reconnaitre le systeme electronique comme appartenant à la classe HID (type clavier souris.....).(cette partie est faite) A la connection du peripherique, le driver utilisé sera celui de l'OS. la materiel est alors reconnu.
il faut alors que j'arrive a lire et ecrire sur le port USB du PC!
J'ai lu de la doc sur la solution que tu proposes jlen100 , avec le convertisseur. Je ne l'ai pas encore réalisée. c'est encore une solution qui me reste.
je travaille sur Xp, et j'aimerai que l'application tourne sur Win 98 , 2000 Win Xp.
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 3 juin 2005 à 14:01
salut,
le probléme avec l'USB c'est que chaque fabricant de circuit utilise un protcole et des registre différent.
il est donc indispensable que tu connaisses les registres a adresser sur le circuit.
Si tu n'a pas la documentation technique tu peux toujours la
retrouver sur le site du constructeur du circuit (s'il n'est pas trop
ancien). Generalement ils fournissent egalement les drivers.
mais à franchement parler à 20/30 euros le covertisseur USB/RS232 ce
n'est pas cher payé avec un resultat garanti et un minimum de peine.
rens_olivier
Messages postés7Date d'inscriptionjeudi 2 juin 2005StatutMembreDernière intervention27 octobre 2005 3 juin 2005 à 15:05
effectivement je connais les registres utilisés du cricuit, mais meme avec ca comment interroger l'usb depuis mon application windows.
le convertisseur usb RS232 reste une bonne soltuion (que j'utiliserai si je n'ai d'autres solution), mais a l'inconcenient de perdre certain avantage de l'usb.
le convertisseur USB-RS232, tu parle du circuit electronique qui permet de sortir les information du pic en serie et de les convertir sur de l'USB. Le systeme dispose alors d'un connecteur USB
ou du cable convertisseur USB typa A---RS232?
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 3 juin 2005 à 18:25
les deux solutions sont possibles et dans les 2 cas les convertisseurs
sont fournis avec les drivers et les DLL permettant de les adresser.
c'est vrai que l'on pert une partie des avantages de l'USB en
particulier le plug & play encore qu'en manipulant Tcomport l'on
puisse y arriver et si les flux d'informations ne sont pas trop
important cela reste largement suffisant à 58 ou 115 k d'ailleurs
generalement les liaisons a partir d'un microcontroleur manque de
fiabilité au dela
rens_olivier
Messages postés7Date d'inscriptionjeudi 2 juin 2005StatutMembreDernière intervention27 octobre 2005 6 juin 2005 à 09:54
trés bien, je vais me decider pour une de ces solutions.
Néanmoins si vous trouvez une lib, dll exploitable qui permettent d'interroger tous peripheriques USB (en environnement windows), informez moi.
merci jlen100,; si j'ai des solutions ou d'autres questions je n'hesiterai pas à relancer la discussion.
jackripper
Messages postés46Date d'inscriptionsamedi 26 mars 2005StatutMembreDernière intervention11 octobre 2006 10 juin 2005 à 23:30
salut tous,
je suppose que ce qu'il veut faire et en relation avec le kit velman K8055 VM110 USB board.
Si çà interesse du monde la dll et livrée avec des programmes la DLL K8055.dll et un tutoriel
comportant les commandes adéquoite.
Si vous lisez les docs vous verez le 16C745 reperé sur la plaque IC3 apparaitre.
Bonne recherche.
Les programmes et exemples plus les DLL en prime :
Vous trouverez dans ces liens la K8055.dll ainsi qu'un fichier avec les commandes d'écrites en francais.
rens_olivier
Messages postés7Date d'inscriptionjeudi 2 juin 2005StatutMembreDernière intervention27 octobre 2005 13 juin 2005 à 10:40
salut,
Les sources de la dll K8055 sont elles disponibles?
dans le meme esprit et en plus simple, vous trouverez un dll (sources non disponibles), qui permet d'envoyer et recevoir des données sur l'USB vers un PIC 16C745, sur le site gemiolac. (www.gemiolac.com)
L'exemple mis a disposition est trés bien, et fournit le code coté pc et pic
Je travaille en ce moment avec cette dll.
Une des etapes futures sera de creer ma propre dll, pour permettre d'interroger tout peripherique USB.
Connaissez vous l'algo et les appels api, pour creer ce type de dll?
rens_olivier
Messages postés7Date d'inscriptionjeudi 2 juin 2005StatutMembreDernière intervention27 octobre 2005 13 juin 2005 à 13:37
je cherche les sources d'une dll (ou programme) qui permet de lire ecrire coté PC sur un port usb.
Coté PIC, je travaille sur le programme assembleur. Avec les exemples et tutoriaux de microchip, la programmation du 16c745 ne pose pas de probleme pour l'instant!!
jackripper
Messages postés46Date d'inscriptionsamedi 26 mars 2005StatutMembreDernière intervention11 octobre 2006 13 juin 2005 à 23:21
Si je trouve je te tiens au courant sur la description d'une dll qui correspond à ce que tu cherches.
Pour le moment celle je n'est pas cette info. Je vais rechercher.
jsaipatou
Messages postés6Date d'inscriptionjeudi 27 octobre 2005StatutMembreDernière intervention10 novembre 2005 27 oct. 2005 à 14:27
Bonjour,
J'ai fait récemment l'acquisition d'une carte d'interface pc en kit que j'ai monté et qui fonctionne correctement en test. Je souhaite faire fonctionner une couveuse pour des oeufs de poule, voilà mon projet, mon soucis est que je ne sais pas comment m'y prendre pour programmer et où programmer? dans dos? je connaissais le turbopascal et le basic, je vais m'y remettre, je dispose d'un thermocouple que je vais cabler sur l'entrée analogique et en fonction de la valeur u je souhaite déclencher une sortie tor ou mieux commander un gradateur pour piloter la résistance de chauffage.
pouvez-vous m'aider svp merci
jsaipatou
Messages postés6Date d'inscriptionjeudi 27 octobre 2005StatutMembreDernière intervention10 novembre 2005 27 oct. 2005 à 15:24
Bonjour,
J'ai fait récemment l'acquisition d'une carte d'interface pc en kit que j'ai monté et qui fonctionne correctement en test. Je souhaite faire fonctionner une couveuse pour des oeufs de poule, voilà mon projet, mon soucis est que je ne sais pas comment m'y prendre pour programmer et où programmer? dans dos? je connaissais le turbopascal et le basic, je vais m'y remettre, je dispose d'un thermocouple que je vais cabler sur l'entrée analogique et en fonction de la valeur u je souhaite déclencher une sortie tor ou mieux commander un gradateur pour piloter la résistance de chauffage.
pouvez-vous m'aider svp merci
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 27 oct. 2005 à 15:31
jsaipatout;
tu devrais poser ta question directement dans le forum: en la posant
ici seuls ceux qui ont déja repondu à la question initiale ont eu ton
message (5/500 000 ça fait pas beaucoup)
si tu es arrivé ici c'est que ta carte d'aquisition est une carte
externe pilotée par un port USB et puisque tu es sur un forum DELPHI je
te conseillerai de choisir ce langage pour le developpement de ton
application surtout si tu travailles avec windows(>95 pour qu'il
accepte l'usb) si tu n'as pas encore DELPHI tu peux telecharger la
version 2005 personnelle elle est gratuite.
developper en turbo pascal pour adresser une liaison USB ne me parait
pas une bonne solution (windows interdit l'acces direct au port depuis
W98).
Pour ce qui est de l'application proprement dite ça deavrit être assaez simple:
un Edit pour saisir la valeur de consigne
un bouton pour l'envoyer à la carte
un boucle de scrutation pour lire l'entree et envoyer la commande de chauffage
rens_olivier
Messages postés7Date d'inscriptionjeudi 2 juin 2005StatutMembreDernière intervention27 octobre 2005 27 oct. 2005 à 15:39
si tu as un kit d'acquisition et que tu recuperes alors toutes les données sur ton pc via les applicatifs fournis avec le kit:
dans ce cas tu n'as pas à programmer le microcontroleur. Il faut alors connaitre le langage dans lequel les executables fournit sont ecris (Borland Delphi peut etre) et developper ta propre appli, avec la dll fourni.
si tu as un microcontroleur non programmé tu dois utilisé le logiciel du constructeur (mplab pour microchip) et developpé les softs du microcontroleur puis celui du pc
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 28 oct. 2005 à 09:42
salut,
si j'en crois la doc le kit est livré avec sa DLL tu pourras donc
écrire ton appli en DELPHI sans probleme il te suffiras de piloter la
carte d'acquisition via les fonctions de la DLL il te suffiras de les
declarer sous la forme:
procedure XXXX stdcall; external 'K8055S.DLL';
ou
Function YYYY stdcall; external 'K8055S.DLL';
et de les utiliser comme n'importe quelle procedure ou fonction DELPHI
tu devrais trouver les conventions d'appel et les parametres dans la doc.