Ce sujet est résolu.
12 | |||
Auteur | Messages | ||
---|---|---|---|
PapyBasic | #1 Posté le 31/3/2014 à 13:43:22 | ||
"Parfois l'obstination est une voie !" | Bonjour à toutes et à tous, je suis (toujours) en train de réaliser un sismographe amateur. Je souhaite piloter un MAX 187 , et pour ce faire j'ai besoin d'utiliser deux lignes sortantes du PC, et pour cela il suffit d'utiliser D0 à D7 sur la sortie 25 points du port imprimante. 'Dans Gambas 2 , nous sommes Root. 'Dans Gambas Class File ' Les déclarations sont faites comme dans l'exemple de Pierre . ' d’après l'exemple de Lapenduledargent DESWYSEN Pierre dans le forum gambas ' la super anti sèche du port parallèle : ' moniteur_état_broche_parallèle ' nom du fichier : moniteur_etat_broche_parallele-1.0.tar.gz ' 103 K ' Simple et efficace ! Merci Pierre hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H379 READ #hPort, TotalDesBroches379 Label1.Text = TotalDesBroches379 J'ai bidouillé une interface me permettant de simuler , très lentement, les changements d'états des lignes du port parallèle. Et cela fonctionne ! Maintenant j'ai un soucis, sous visual basic de la fenêtre d'en face de chez bill la terreur , le code est : While inp(LecturePort) And 128 = 0 Wend J'ai essayé un truc du genre : hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H379 WHILE READ #hPort, TotalDesBroches379 AND 128 = 0 Ben ça marche pas ! Gros snif ! Goutte au nez et petite larme, une âme charitable pour me tirer une balle dans le genoux ? Si vous n'avez pas d'arme à feu, une solution ? Cordialement Papy | ||
PapyBasic | #2 Posté le 31/3/2014 à 14:01:25 | ||
"Parfois l'obstination est une voie !" | Re Bonjour , pour completer mon premier message, sortir les signaux ne me pose pas de probleme, c'est plutôt cette forme d'attente en rentrant ! Le code original sous la grande F de B.G. '************************************************* '******** ATTENTION CODE EN VB 2 ***************** '************************************************* '******* code pour piloter un max187 ************ '************************************************* 'REM déclaration général ] Declare Function inp Lib "inpout.dll" (ByVal port%) As Integer Declare Sub OUT Lib "inpout.dll" (ByVal port%, ByVal Value%) '************************************************ 'REM ici définition de l'adresse du port de communication AdresseDeBase = &H3BC LecturePort = AdresseDeBase + 1 'REM cs haut (9//) OUT AdresseDeBase, 128 'REM début de conversion OUT AdresseDeBase, 0 'REM attente fin de conversion While inp(LecturePort) And 128 = 0 Wend 'REM 'forçage avant transmission des datas 'REM Forçage horloge haut OUT AdresseDeBase, 1 'REM Forçage horloge bas OUT AdresseDeBase, 0 'REM transmission des datas signalsismo = 0 'REM 12 tops d'horloge For Horloge = 11 To 0 Step -1 'REM top = niveau haut OUT AdresseDeBase, 1 ValeurVraie% = (Not inp(LecturePort)) And 128 'REM inversion pour atteindre la valeur vraie If ValeurVraie% <> 0 Then signalsismo = (2 ^ Horloge) + signalsismo 'REM tops bas horloge OUT AdresseDeBase, 0 Next Il est donc bien question de la fonction (inpout) . Pour moi, lire l'état physique de la ligne n'est pas une difficulté, c'est la boucle While wend avec la condition ! While inp(LecturePort) And 128 = 0 Wend si j'arrive à comprendre ce truc, je suppose que je suis en capacité de m'occuper du reste ! D'avance merci. Cordialement Papy | ||
Reivillo | #3 Posté le 31/3/2014 à 14:36:55 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | While inp(LecturePort) And 128 = 0Peut-être les Parenthèses manquantes, pour lever toute ambiguïté, dans la Condition !
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
PapyBasic | #4 Posté le 31/3/2014 à 15:35:52 | ||
"Parfois l'obstination est une voie !" | Merci Reivillo, pour ta réponse rapide. C'est affreux mais il faut dire la vérité, sous VB2 en WouinWouin 98SE ce programme fonctionne très bien! Et depuis des années. Moi, je souhaite me débarrasser VB2, 3 , 4 , 5 , 6 , studmachin et autres !... Gambas m'offrant l'opportunité de travailler longtemps , bien et de façon stable, me conviendrait bien, si je n'achoppais pas sur un cerveau lent ( le mien ) pour m'adapter à un outil performant. Là particulièrement, la commande de Pierre ( Lapenduledargent) est fonctionnelle pour entrer et sortir sur le port parallèle. Il y a juste cette boucle de condition du genre , tant que l'état de la ligne ne bascule pas alors attendre ! Pour travailler sous Gambas 2 (et je suppose 3) , la commande qui fonctionne pour interroger la ligne entrante du port parallèle est : hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H379 READ #hPort, TotalDesBroches379 Mais comment "fusionner" la commande While et Wend avec ce code ? Dans ton commentaire, la citation fonctionne avec VB2 Je cherche une commande ayant la même fonctionalité sous Gambas 2. Merci à vous tous, cordialement Papy | ||
Reivillo | #5 Posté le 31/3/2014 à 16:11:19 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | À tester...
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
PapyBasic | #6 Posté le 31/3/2014 à 17:20:21 | ||
"Parfois l'obstination est une voie !" | Reivillo merci , dés que je suis à la maison, je teste l'idée ! Effectivement, je n'avais pas du tout pensé à cette solution. Quel que soit le résultat je repose une réponse ce soir. Cordialement Jean-Pierre | ||
PapyBasic | #7 Posté le 31/3/2014 à 19:57:40 | ||
"Parfois l'obstination est une voie !" | Re bonsoir, il y a un ordre precis pour installer une : PUBLIC FUNCTION LecturePort() AS INTEGER J'ai un message du genre : "Type mismatch : Wanted Number , got Function instead" Et comme maîe anglische ise verri bade ! ... Moi je pas comprendre ! En français, "l'usage de la langue anglaise me depassant quelque peux, cette combinaison de mots m'éblouie comme une luciole en plein brouillard à trois heure du matin ." En dehors de mon humour Carambar, si Gambasien a une solution je suis preneur ! Cordialement Papy | ||
PapyBasic | #8 Posté le 31/3/2014 à 20:00:23 | ||
"Parfois l'obstination est une voie !" | Re bonsoir, il y a un ordre precis pour installer une : PUBLIC FUNCTION LecturePort() AS INTEGER J'ai un message du genre : "Type mismatch : Wanted Number , got Function instead" Et comme maîe anglische ise verri bade ! ... Moi je pas comprendre ! En français, "l'usage de la langue anglaise me depassant quelque peux, cette combinaison de mots m'éblouie comme une luciole en plein brouillard à trois heure du matin ." En dehors de mon humour Carambar, si un Gambasien a une solution je suis preneur ! Cordialement Papy | ||
Reivillo | #9 Posté le 31/3/2014 à 20:14:35 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Ta variable < TotalDesBroches379 >, est de quel Type? Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
Reivillo | #10 Posté le 31/3/2014 à 20:25:04 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Essaye avec Byte:
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
PapyBasic | #11 Posté le 31/3/2014 à 20:59:48 | ||
"Parfois l'obstination est une voie !" | Merci Reivillo, je tente la manip ! Cordialement Papy | ||
Reivillo | #12 Posté le 31/3/2014 à 21:07:43 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Déclare < TotalDesBroches379 > en < String >, et:
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
PapyBasic | #13 Posté le 31/3/2014 à 21:22:43 | ||
"Parfois l'obstination est une voie !" | Même message d'erreur , même endroit. La variable est de type Byte Merci à tous por votre soutien Cordialement Papy | ||
Reivillo | #14 Posté le 31/3/2014 à 21:28:15 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Je viens de modifier, mon dernier Message #12. Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
PapyBasic | #15 Posté le 31/3/2014 à 21:28:18 | ||
"Parfois l'obstination est une voie !" | Haaaaaaaaaaaaaaa ! J'y retourne immédiatement. Merci Papy | ||
12 |