begin process at 2012 02 14 00:40:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Aide & Documentation

 > 

Port paralléle forcé


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Port paralléle forcé

vendredi 4 mai 2007 à 11:16:07 | Port paralléle forcé

cerf59

Bonjour,
Mon problème est le suivant :
J'ai créé le programme suivant pour recevoir des donner sur le port // mais d'abbord en le testant je me suis apérçu que le bit numéro 3 ( de poids 4) étais toujours actif c'est a dire que lorsque je met tout les port a 0 , j'obtient 4 ...
____________
Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer


Private bytCode As Byte             ' Déclaration de la variable bytCode en octet
Private intAdressePort As Integer   ' Déclaration de la variable intAdressePort
Private intAiguille As Integer      ' Déclaration de la variable intAiguille
            
Dim arrTranscode(256, 7) As Integer ' Déclaration du tableau arrTranscode de 256 lignes et 7 colonnes
Private Sub Command1_Click()
           
    Text1.Text = Val(Inp(intAdressePort))

End Sub


Private Sub Form_Load()     ' sous prog Form de transformation code décimal

    intAdressePort = &H378      ' définition de l'adresse du port parallèle

End Sub
_______________

Y a - t - il une erreure dans mon programme ? sinon comment forcer tous les bits de port // a 0 ?

Merci d'avance pour votre aide .
@+

vendredi 4 mai 2007 à 11:29:49 | Re : Port paralléle forcé

casy

Membre Club

Ben tout dépend de l'état de la broche correspondante sur le port //

Tu parle du bit n°3, de poids 4, sur le port &h378, j'en déduit qu'il s'agit du signal D2 donc de la broche n°4 du connecteur SUBD25 du PC. Si cette broche est à 1, c'est normal que tu lise un. Si elle est en l'air (pas connectée), suivant les parasites qu'elle capte, elle peut très bien prendre un etat 1 (ce qui est généralement le cas d'ailleurs pour les broches qui restent non connectées).


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
vendredi 4 mai 2007 à 11:40:50 | Re : Port paralléle forcé

cerf59

Le problème c'est que l'on teste avec un cicuit intégré avec des interrupteurs , et lorsqu'on les mets tous en position fermée s'affiche sur notre programme la valeur 4.
vendredi 4 mai 2007 à 11:56:54 | Re : Port paralléle forcé

casy

Membre Club

teste l'état sur la broche du connecteur, peut-etre as-tu un interrupteur ou le circuit intégré défaillant

Rappel : Pour le port parallèle, Etat 0 = 0 Volts, Etat 1 = 5 Volts
Attention aux manip, tu es en prise directe sur la carte mère

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
vendredi 4 mai 2007 à 12:02:14 | Re : Port paralléle forcé

casy

Membre Club
Autre point, as-tu pensé de basculer le port en entrée avant de lire la valeur.

Par défaut il est configuré en sortie et la valeur que tu lis doit etre la dernière valeur envoyer au port.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
mercredi 9 mai 2007 à 11:18:27 | Re : Port paralléle forcé

cerf59

notre port et bel et bien configuré en entrée puisqu'on sait lire les valeurs que nous envoyons sur les autres bits que le d3... on arrive à tout mettre à "1" par exemple et donc à lire 255 via notre programme.
Le problème ne viens pas non plus de notre plaque de test car nous avons dejà changé de plaque et d'interrupteur et ça ne change rien du tout.

Serait il alors possible de faire un reset du port (en écrivant 0 sur tous les bits) puis de remettre les ports en entrées afin de lire les valeurs acquise sur le port ?
mercredi 9 mai 2007 à 13:51:29 | Re : Port paralléle forcé

casy

Membre Club

"...de faire un reset du port..."
Si je comprend bien ce que tu veux dire, non. A ma connaissance ce n'est pas prevu. Je ne pense pas qu'il soit prévu dans la puce de gestion du port //, une quelconque mémorisation de configuration. Cela ne correspond à rien , à ma connaisance, dans la norme régissant le port //. Le "reset" du port est effectuer normalement à la mise sous tension de la machine.

"...en écrivant 0 sur tous les bits..."
Avec le port en Entrée : cela ne devrait avoir aucun effet, mais ça peut etre testé éventuellement
Avec le port en sortie : attention à ne pas faire de court circuit derrière sur tu as un inter actif. Tu vas reseter le tampom de sortie mais normalement dès que le port sera remis en entrée, les valeurs lues devraient etre celle présentes sur le port. En prennant des précautions concernant les cour-cuircuits, tu peux essayer de faire le test.

Si tu as exclus la carte interface et la configuration du port, je ne vois plus guère qu'un problème matériel ou un problème dans ton logiciel.

Pour le problème logiciel, tu peux essayer de faire le test avec un bout de code totalement indépendant de ton logiciel qui aurait pour fonction de configurer le port puis de lire en boucle, le tout de façon la plus rudimentaire et simpliste qu'il soit. Eventuellement pour t'affranchir d'une "certaine façon" de coder, tu peux prendre pour ce test, un code développé par une autre personne, par exemple une source de vbfrance pourquoi pas.
Il conviendra ici évidemment de confirmer le problème avec un logiciel tiers afin d'avoir une relative certitude que le problème ne vienne pas de ton logiciel.

Pour la piste matériel, reste le cable de liaison. Un court-circuit est toujours possible avec un petit filamment mal soudé qui se balade sur une autre broche à l'intérieur de la prise, pas toujours facile à voir. Les broches à proximité de D3 sont D2, D4, GND (c'est 3 peuvent etre exclues je pense) et SELECT OUT. Cette dernière doit, je crois bien etre à 1 lorsque le port est configuré en entrée. Cela pourrait etre une explication.

Autre piste matérielle, des dommages subits par le chipset. Dans ce cas,, pour confirmer, il faut essayer avec un autre ordinateur, ou éventuelllement une carte // additionnelle, mais dans tout les cas cela revient à essayer sur un autre port //.
Si c'est le cas, il y a pas de remèdes envisageables si ce n'est de passer par une carte additionnelle ou par un autre pc, ce port là étant définitivement inapte pour ce service là, à priori.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
mercredi 9 mai 2007 à 15:05:11 | Re : Port paralléle forcé

cerf59

Nous avons vérifié le cablage de la nappe relié de la plaque au pc est il est correct.

Nous avons essayé un programme (que nous avons téléchargé sur ce site = "vbfrance_TESTEUR-POUR-PORT-PARALL-200_36552") et en faisant un RAZ nous arrivons à obtenir 0 sur tous les bits du ports. Et ensuite, lorsque nous changeons les valeurs des bits nous obtenons la valeur voulue (toujours grâce à notre plaque de test)

Aussi nous aimerions pouvoir intégrer un morceau de programme permettant de faire un RAZ (c'est à dire d'envoyer 0 sur tous les bits du port) au démarrage du programme. (on ne s'y connais que très peu en visual basic...)


Merci d'avance (et merci pour vos réponses)
mercredi 9 mai 2007 à 15:44:47 | Re : Port paralléle forcé

casy

Membre Club

Quel est le problème ?

La mise à zéro du port ou le moment pour le faire ?

Sinon tu peux regarder la sourec chargée, m^me si , j'en conviens, le code n'est écrit de manière très lisible. Il manque des commentaires et surtout l'identation qui facilitera énormmément la lecture

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
mercredi 9 mai 2007 à 16:03:43 | Re : Port paralléle forcé

cerf59

le problème c'est qu'on arrive à coder ni la mise à zero ni le moment..
Le code du programme téléchargé prend apparemment tous les bits séparément alors que nous lisons sur le port entier (si j'ai bien compris), donc on ne sais pas trop comment l'adapter....

PS :  notre programme est un morceau d'un grand programme.. c'est pou cela que certaines variables ne servent à rien (on nous a donné une partie de programme existante)
On est des noobs....

1 2

Cette discussion est classée dans : port, variable, private, déclaration, integer


Répondre à ce message

Sujets en rapport avec ce message

Connexion base de données multi-tables [ par snoopishere ] Bonjour à tous,Voilà j'ai un petit problème, j'ai créé un datagridview qui affiche les données de deux tables "effectif" et "inactivité" grâce des joi Utilisation de module [ par Sinsitrus ] Salut !Excusez moi j'aurai besoin d'une aide... bizarre ^o)Etant donné que je suis obligé de mettre un certain nombre de code dans chacune de mes form remplir une listebox avec mais une table acces 2003 [ par ocejade ] bonjour a tous je suis en cour de dépression nerveuse avec un problème de listbox et de table acces 2003 étant plus que débutant . j ais effectuée de Pb de déclaration de variables [ par scalou1 ] Bonjour à tousJe découvre ce service. J'espère que vous pourrez solutionner mon (petit) problème. Voilà: j'ai une application sous VB.Net qui comporte Help me! probleme lors de déclaration de variable globale de type string [ par pier0 ] Bien voila,j'ai réalisé sous Vb un programme composé de plusieurs modules eux meme réalisant differentes fonctions.J'ai structuré mon programme en uti déclaration de variable dans une macro excel [ par dubouch ] bonjour à toutes et à tous,je débute dans le VB. Dans Excel, j'utilise un formulaire. Ce formulaire me récupère des données. Ces données sont stockées Déclaration de variable [ par imgKappa ] Bonjour,Je désirais créer un tableau  en memoire, avec trois variables A B C type doubleMais la différence et que je puisse redimensionner ce tableau Effacer une variable "TYPE" [ par andrebernard ] Bonjour à tousJ'ai créé une variable selon un type :Public ControleFichier As ParametresControlesPublic Type ParametresControles Name As String * 30 I Controle de la lecture d'un fichier Flash [ par vbkriss ] Bonjour,Dans une application contenant seulement Form1, j'ai placé un composant ShockWave Flash Object, un Label, 3 TextBox, 1 LinkLabel, 1 timer et 1 Déclaration de variable [ par pifranl ] Bonjour,Je voudrais juste poser une petite question qui bloque l'avancée de mon programme. En fait, mon programme demande à l'utilisateur de rentrer d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,917 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales