Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Inscrit en
    novembre 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : novembre 2008
    Messages : 20
    Points : 1
    Points
    1

    Par défaut [QBasic] Port parallèle

    Bonsoir à tous,

    Pour une application avec une commande numérique et moteurs pas à pas.
    Je développe un petit programme en qbasic qui tourne sur freedos.
    Je sais que c'est peux être plus à la mode mais c'est simple comme langage pour débuter.

    Mais voilà mon problème :

    J'ai réalisé une carte test avec leds, résistances et switchs.
    Je travaille avec le port parallèle.
    Pour sortir sur les pin 1 à 9 pas de problème mais je ne sais pas écrire.
    Voilà mon instruction :
    Code :
    1
    2
    A= INP (&H379)
    Print A
    J'envoie du 5v sur la pin 10 (Acknowledge)
    La réponse est 127 et pas moyen de changer cette valeur !!!

    Avez-vous une idée

    Merci d'avance

    Pierre

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 387
    Points : 12 680
    Points
    12 680

    Par défaut

    Citation Envoyé par lapenduledargent Voir le message
    A= INP (&H379)
    Print A

    J'envoie du 5v sur la pin 10 (Acknowledge)
    La réponse est 127 et pas moyen de changer cette valeur !!!

    Avez-vous une idée
    Tout d'abord, si tu fais fonctionner QBasic sous Windows ou autre, il y a des chances pour que l'O.S. ne te laisse pas accéder directement au port d'entrée-sortie. C'est à vérifier. Avec un MS-DOS pur, en principe, pas de problème.

    Ensuite, tu ne choisis vraiment pas la facilité en optant pour ACK. Cette broche attend une impulsion. Elle doit sûrement être bufferisée par un trigger ou un dispositif de la sorte. Utilises plutôt ERROR, SELECT, PE ou BUSY.

    Enfin, même si ça fait très longtemps que je n'ai plus fait ces manipulations, il me semble que le port parallèle est compatible TTL et que ses broches doivent être à l'état haut quand elles sont dans le vide. Si c'est le cas, tu ne verras rien en leur appliquant cinq volts. Relie-les plutôt, au contraire, à la masse en utilisant une résistance de pull-down pour être sûr de ne rien griller.

  3. #3
    Membre habitué
    Inscrit en
    janvier 2007
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : janvier 2007
    Messages : 107
    Points : 116
    Points
    116

    Par défaut

    Tout à fait d'accord avec Obsidian: Windows empêche les lectures/écritures sur les ports.
    Pour lire ou écrire sous Windows tu peux utiliser mon Basic qui est disponible ici:
    http://pagesperso-orange.fr/panorami...nch/index.html

    Les échanges par le port parallèle ont été testés et fonctionnent sur Windows XP (familial, Pro) et Windows 2000.

    Pour lire (tu as dit "écrire" mais en fait c'est "lire" que tu n'arrives pas à faire), tu fais:

    Code :
    1
    2
    3
    4
    5
    6
    7
    dim A : rem pour déclarer la variable A
    parallel_on : rem pour utiliser le port parallèle
     
    A = parallel_inp(889)
    print A
     
    parallel_off : rem quand tu n'as plus besoin du port parallèle
    Il te faut la DLL : inpout32.dll qui est disponible aussi sur mon site.
    http://pagesperso-orange.fr/panorami...e/inpout32.dll
    Il te faut mettre cette DLL dans la même librairie que ton exécutable.
    Surtout n'hésite pas à me poser des questions, je ferai un tutoriel que je mettrai sur mon site.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •