IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Lire rapidement la touche Escape


Sujet :

Assembleur

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Lire rapidement la touche Escape
    J'ai besoin de lire cette touche très rapidement dans un pg destiné à mesurer le temps mis par un mobile pour parcourir 1 cm (une variante de la chute de bille)
    Jusqu'à présent, j'ai toujours lu l'adresse 60 (in Al,60h)
    Sous XP, ça fonctionne (avec une version officielle de VicPort de Victor Ishikeev, e-mail: ivi@ufanet.ru), mais la souris reste bloquée à l'issue de l'acquisition qui se déroule normalement.
    Il me semble qu'il y a deux possibilités
    Tester ESC autrement
    Avoir une instruction API de windows qui restaure la souris

    Merçi de vos conseils

    PS : je suis en Assembleur intégré sous Delphi

  2. #2
    Membre actif Avatar de trax44
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 300
    Points : 233
    Points
    233
    Par défaut peu être int 16
    salut
    ben tu peu essayer sa mais je suis pa sur pour la vitesse

    mov ah , 01h
    int 16h
    après tu doi mettre un saut (zf et changer mé je c plus kan il se met à un)
    le code de la touche et renvyer dans al
    trax

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Merci
    C'est sympa d'avoir répondu
    J'avais essayé ça dans la version 16 bits (et même DOS), c'est plus lent que d'aller lire l'adresse 60 h
    Merçi

  4. #4
    Membre habitué
    Avatar de TangiX
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 139
    Points : 168
    Points
    168
    Par défaut
    Il faut lire le port 60h avec l'irq c clair
    mais par compte a mon avis faut abandonner XP!

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 6
    Points : 4
    Points
    4
    Par défaut XP
    Malheureusement, les acheteurs du logiciel utilisent XP ....
    Merçi encore
    Bernard

  6. #6
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut
    Je ne sais pas comment résoudre ton problème sous Windows, mais une chose est sûre : sous win32 (que ce soit 98, NT4, 2000, XP... ) il faut abandonner toutes les anciennes habitudes de l'assembleur pour DOS, qui sont faites pour le mode réel, mono-tâche ! Maintenant c'est Windows qui s'occupe de tout, ce n'est donc pas étonnant que ça plante après ton instruction.
    Tu peux aller voir des sites tels que
    http://win32assembly.online.fr/
    qui te seront utiles pour savoir comment programmer en asm sous win32.

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez à consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.

    Je n'ai rien à voir avec la société www.ovh.com !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Tant qu'a programmer pour windows xp, laisser tomber le DOS... Sous windows, il y a juste a ecrire une boule des messages et intercepter un WM_KEYDOWN je crois. Si tu n'as pas besoin d'une réponse inferieur a 10 ms ca doit suffire

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 6
    Points : 4
    Points
    4
    Par défaut rapidité <10 ms
    Hélas, je dois être très rapide au minimum la ms et mieux le 1/10 de ms (mesurer le temps mis par un objet pour parcourir 1 cm)
    Merçi de vos contributions
    Je ne sais pas encore comment gérer ce pb
    La touche ESC n'est utile que lorsque l'objet ne tombe pas correctement et donc ne coupe pas les faisceaux.
    Bernard

  9. #9
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 65
    Points : 105
    Points
    105
    Par défaut
    Hello,

    Attention au fait que le port clavier (ps/2) est une liaison série donc avec un débit fixé dont la rapidité de modulation est peut etre inférieure aux temps que tu cherches à atteindre (c'est à vérifier), sans compter le temps de réaction du controleur clavier ainsi que le refresh rate du scan matrix ...

    Néanmoins, 1ms est peut etre une limite raisonnable.
    De plus il est peut etre necessaire de fixer des registres du controleur clavier tels que repetition rate/delay.

    golem
    +++

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    mais ceelui qui appuiera sur la tocuhe, sera precis au dixième de millième de seconde ??

    Cela dit pour ca, il faudrait dialoguer directement avec le driver ded clavier. Ou sinon utiliser DirectInput qui ne te donne plus qu'une diwaines de lignes a coder.

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Appui sur ESC
    La gestion du clavier doit être dans la boucle d'acquisition.
    Dans le cas de la chute d'un objet qui passe devant des fourches.
    Chaque fourche contient deux capteurs (faisceaux lumineux dont on détecte l'occultation par l'objet)
    L'utilisateur peut être amené à appuyer sur ESC dans le cas où son montage n'est pas vertical et que l'objet (la fameuse bille) ne passe pas devant les capteurs.
    Cette gestion d'ESC doit donc tres rapide car elle se trouve dans la boucle de mesures.
    Merci encore
    Bernard

  12. #12
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 938
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Cela confirme bien :
    Citation Envoyé par Blustuff
    mais celui qui appuiera sur la touche, sera precis au dixième de millième de seconde ??
    Ton opérateur a intérêt à être shooté à la caféïne !

    N'y a-t-il pas moyen d'inclure le non-passage des billes devant les capteurs dans le dispositif de mesure lui-même ? (à moins que je n'aie vraiment rien compris du tout au problème ?)
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

Discussions similaires

  1. Fermer un formulaire par appui sur la touche escape
    Par nomade333 dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/07/2008, 18h45
  2. Touche ESCAPE dans une Windows.Form
    Par tchoimars dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/02/2008, 11h04
  3. Désactiver la touche escape pour un Combo
    Par alain sayagh dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/06/2007, 10h07
  4. [TP] Condition d'arrêt = touche escape
    Par gadalla dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 10/05/2007, 13h38
  5. [VBA-A] Récupérer événement après la touche escape
    Par steps5ive dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/05/2006, 19h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo