|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
Bonjour.
Je voudrais savoir comment se servir du driver "DriverLINX Port I/O" pour ecrire et envoyer des valeurs sur le port parallele. (Mon projet etait de commander le bras robot "RobotArm (SVI-2000)" par le port parallele. Mais ne pouvant pas directement faire la chose [sous Win XP, il faut passer par l'intemerdiaire d'un driver], j'ai trouvé ce driver : "DriverLINX Port I/O" mais je ne sais pas l'utiliser Merci de me repondre rapidement ^^ |
|
|
00
|
|
|
#2 | |
![]() ![]() Inscription : décembre 2003 Messages : 14 502 ![]() |
Citation:
Pour accéder aux ports I/O j'utilise la DLL inpout32.dll. http://www.logix4u.net/inpout32.htm J'ai fait un wrapper : http://delahaye.emmanuel.free.fr/clib/pio/
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() |
Merci
Je vais essayer cette methode ^^ |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() |
La methode proposée marche mais quel fonction faut-il utiliser pour rentrer une valeur sur le port ? (Laquelle est-ce dans les fonctions misent en exemple)
|
|
|
00
|
|
|
#5 | |
![]() ![]() Inscription : décembre 2003 Messages : 14 502 ![]() |
Citation:
Démarrer > Click droit sur 'Poste de travail' > Propriétés > Matériel > Gestionnaire de périphériques > Ports COM et LPT > Sur Port Imprimante ECP (LPT1), click droit > Propriétés > Ressource > Plage d'E/S OUF ! Tu dois lire l'adresse de base.
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() |
Merci mais il se trouve qu'il y a deux ligne "Plage d'E/S".
Screenshot : ![]() La quelle dois-je prendre ? PS : Euh....La ligne de commande pour entrer une valeur c'est celle la ? Code :
pio_err_e pio_outb (unsigned port, unsigned data); |
|
|
00
|
|
|
#7 | |||
![]() ![]() Inscription : décembre 2003 Messages : 14 502 ![]() |
Citation:
Mais attention, l'adresse de base, ici, c'est ensuite, selon ce que tu veux faire il faut accéder aux différents registres Code :
J'espère que tu connais le port // des PC...
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() |
Ouhlala le port parallèle ^^"
Ben je connais pas grand chose dessus (En fait mon probleme c'est de savoir comment envoyer des valeurs binaires tels que chaque bit soit une sortie Dn du port (D0, D1, D2......D7)...) D'apres la fiche technique du bras robot je trouve : _Axe 2 vers le haut : 11 01 11 11 _Axe 2 vers le bas : 11 10 11 11 _Axe 1 vers la gauche : 01 11 11 11 _Axe 1 vers la droite : 10 11 11 11 _Axe 3 vers le bas : 11 11 01 11 _Axe 3 vers le haut : 11 11 10 11 _Axe 5 ouverture : 11 11 11 01 _Axe 5 fermeture : 11 11 11 10 _11 11 11 11 : Arreter tout les mouvements (Note : L'axe 4 [celui de la rotation de la pince] est inutilisé. {Car on ne pouvait mettre que 8 deplacements}) Docs Technique : Doc 1 : ![]() Doc 2 : ![]() Ma question est la suivante : Comment puis-je faire correspondre les bits aux sorties ? (que faut-il definir au debut du process ?) ==> Sachant que je compte commander le bras par l'intermediaire du clavier (donc il faut que mon process fasse que tout s'arrete lorsque je relache la touche si j'ai bien compris...) |
|
|
00
|
|
|
#9 | |||||||||||||
![]() ![]() Inscription : décembre 2003 Messages : 14 502 ![]() |
Citation:
L'interessant est ceci : Code :
La matrices des commandes est donc : Code :
drbt = 'driver' robot Code :
Code :
http://emmanuel-delahaye.developpez..../ed/inc/bits.h Je recommande l'implémentation de la matrice de commande (simple tableau statique interne à 2 dimensions) pour vérifier la validité du couple axe/commande... test à l'arrache... Code :
Code :
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|||||||||||||
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : février 2007 Messages : 66 ![]() |
Si c'est pas de la réponse complète ça...
Juste un truc au niveau matériel, tu auras peut-être à rajouter des pull-ups de 1K sur des E/S du port //. |
|
|
00
|
|
|
#11 | |
![]() ![]() Inscription : décembre 2003 Messages : 14 502 ![]() |
Citation:
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() |
Ouhlala !
(Alors maintenant, que dois-je faire pour faire bouger les axes ? ^^" => J'avais pensé a utiliser le code virtuel des touches sous la condition If Est-ce toujours faisable ?) |
|
|
00
|
|
|
#13 | |
![]() ![]() Inscription : décembre 2003 Messages : 14 502 ![]() |
Citation:
Passer une commande (portable) Utiliser le clavier en mode direct : - non portable : texte : conio, curses, - graphique portable sur Linux/Windows... : SDL... Utiliser une interface graphique (souris...) Non standard, mais pourrait être portable sur Linux et Windows avec GTK+. Tout dépend de ce que tu veux faire, tu temps à y consacrer de tes connaissances en programmation... m'est inconnu. Quelle bibliothèque ? Tu devrais faire une étude préalable de ton application pour définir les entrées (interface IHM) les traitements et les sorties (actions sur le robot). Sinon, ça va vite devenir n'importe quoi... Le mode commande est simple à faire et il permet de créer des scripts qui contiennent les commandes et permet de réaliser des séquences de commandes automatiques. Prevoir une commande de delai...
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() |
Si le mode commande est simple, je crois que je vais aller pars la. (Pour le temps, il serait préferable pour moi que je termine avant Lundi...Mardi grand maximum.)
Pour la commande c'est une fonction de l'API Windows (J'avais pensé que ca serait plus simple de faire : "Si on appuie sur D, envoie une valeur au port [et donc bouge l'axe...Chaque touche une commande]"..) |
|
|
00
|
|
|
#15 | |
![]() ![]() Inscription : décembre 2003 Messages : 14 502 ![]() |
Citation:
Si tu veux juste une commande par une touche de clavier, ça peut être très simple avec kbhit() et getch() de conio. Si tu as Dev-C++, il t'es facile d'installer conio par l'installateur de DevPak. mais évidemment, ça suppose que tu connaisses un peu ton IDE... On s'improvise pas programmeur en 3 jours...
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com