begin process at 2012 02 17 04:56:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

API

 > 

Masquage de bit


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

Masquage de bit

mercredi 9 novembre 2005 à 12:57:59 | Masquage de bit

runo

Jai une petite question :
je lis le port parallèle de mon PC :
portD0 = Inp(PortAddress)
Avec cette fonction, je recupère la valeur du port, mais j'aimerais savoir comment vérifier l'état d'un seul bit ? Par exemple je veux tester si le bit 0 est à 1 ?

Idem, lorsque j'ecris sur le port, est-il possible de n'écrire que certains bits ?

Merci pour l'aide.

mercredi 9 novembre 2005 à 13:23:29 | Re : Masquage de bit

Renfield

Administrateur CodeS-SourceS
Réponse acceptée !
AND et OR .... rien besoin de plus ... If ( portD0 And 8 ) Then ...
mercredi 9 novembre 2005 à 16:47:14 | Re : Masquage de bit

ScSami

Membre Club
Explique moi ça Renfield stp !!!
Y'a quand même un truc que j'ai pas du piger au nivo de la manipulation binaire via les fonctions logiques!!!
Si tu pouvais me faire un petit topo voire (mais je voudrais pas te donner trop de travail), un tuto sur ce sujet pourtant si fondamentale!

Sinon, tu vas peut-être me prendre pour un lourdingue mais j'ai chercher partout, et en VB6, j'ai pas trouvé ta fonction ChrW !!! Es-tu vraiment certain que ce n'est pas d'une API dont tu parlais et si non, y'a-t-il d'autres fonctions du genre ???


Enjoy

( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
mercredi 9 novembre 2005 à 17:06:47 | Re : Masquage de bit

Renfield

Administrateur CodeS-SourceS
Pour vérifier l'êtat du 4ème bit, par exemple, on fera par exemple Input = 14 If (Input And 8) Then '# Le 4ème bit, qui représente la valeur 8, est à 1 End if 14 -> 1110 en binaire 8 -> 1000 en binaire l'opération And ne prenant que les bits en commun, on obtient : 14 And 8 -> 1000 -------------------- Dans VB F2 > recherche de "ChrW" : Function ChrW(CharCode As Long) Membre de VBA.Strings Renvoie une chaîne contenant le caractère natif spécifié (Unicode ou ANSI)
mercredi 9 novembre 2005 à 17:30:31 | Re : Masquage de bit

ScSami

Membre Club
Mais alors, explique moi l'utilité de OR et de XOR s'il te plait...

Enjoy

Je vais chercher mieux pour ChrW... Merci du tuyau
mercredi 9 novembre 2005 à 18:07:19 | Re : Masquage de bit

Renfield

Administrateur CodeS-SourceS
http://valetg.club.fr/prof/electron/logique/logic1.htm
mercredi 9 novembre 2005 à 21:51:32 | Re : Masquage de bit

philippe laschweng 1

Oui il faut utiliser un masquage logique !

Mais je crois qu'en VB tu ne peux pas utiliser les fonctions logiques (AND, OR...) avec des mots binaires directement. Exemple :
0011 AND 1110 te donne en théorie 0010. Mais je crois que VB n'accepte pas directement cette écriture (pas comme du VHDL). Je me trompe peut être ... mais je crois pas. Il n'accepte que ces fonctions entre 2 bits. Mais tu peux facilement te construire une fonction pour cela.

Pour masquer des bits, tu fais en principe un ET logique avec ton octet (exemple 8 bits) et un second octet ou tu mets les bits à masquer à 0 (les autres étant à 1). Mais tu peux aussi utiliser in InStr() si tu veux isoler un bit en particulier même si ca n'est pas le plus judicieux je te l'accorde ..

Mais c'est vraie qu'en logique booléenne tu fais tout avec les opérateurs AND, OR, XOR (inverseur commandé) etc ...

Phil 

jeudi 10 novembre 2005 à 00:46:31 | Re : Masquage de bit

ScSami

Membre Club
Merci beaucoup les gars pour toutes ces précieuses (à mes yeux) infos
jeudi 10 novembre 2005 à 07:32:38 | Re : Masquage de bit

Renfield

Administrateur CodeS-SourceS
Phil, je t'assure, VB accepte bien AND et OR pour les opérations binaires....

Amusez-vous !
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS - MVP Visual Basic
jeudi 10 novembre 2005 à 10:33:12 | Re : Masquage de bit

philippe laschweng 1

Renfield : je sais bien que VB accepte AND et OR pour les opérations binaires mais tu as du mal comprendre ou je me suis mal expliqué. Ce que je voulais dire, peut être que je me trompe, mais je ne suis pas arrivé à faire par exemple un AND bit à bit sur un octet complet, du genre :
000011111 AND 01010101 = 00000101.
VB n'est pas capable de te donner ce résultat directement. Les opérations ne marche que bit à bit.
Ce n'est pas comme avec du VHDL (langage de description hardware) par exemple qui accepte fort heureusement ce type d'opération.
En VB pour faire l'opération du dessus, je me suis fabriqué des fonctions simples mais je n'ai pas trouvé le moyen de faire l'opération directement.
Mais je me répéte je n'affirme rien, j'ai constaté et je n'ai peut être pas trouvé la solution ...

A vous de me dire ...
Phil

1 2

Cette discussion est classée dans : port, bit, masquage


Répondre à ce message

Sujets en rapport avec ce message

Possible de commander port série bit par bit?? [ par sam ] Salut à tous. J'ai besoin de votre aide car je dois présenter mon projet à mon chef Lundi et je dois commander une machine grâce à RTS et DSR du port comment envoyer un top (1 bit) sur le port série [ par dgelin ] Salut,Mon objectif est d'envoyer un front montant sur une broche du port série.Pour cela, j'utilise VB mais pas moyen de trouver quelque part une expl Port série (inpout32.dll) et envoi d'un mot [ par nicoadsl ] Bonjour tlm, Je suis nouveau et je viens, pour mon stage, de me mettre à visual basic 6. Bon je dois réaliser un programmateur d'eeprom par le port sé mettre un bit d'un port série à 1 [ par nitanicolas ] Bonjour, Voici la situation : J'ai un logiciel (OBJ Inkdraw) qui me sert à compter le nombre d'impression réalisé par la machine à imprimer le logicie Lire un bit précis dans les registre du port LPT [ par Moritus ] BonjourJ'arrive a lire les registre du port LPT mais j'aimerais etre capable de lire un bit spécifiqueau fond j'aimerais savoir si le bit est a 1 ou 0 Ecrire sur le port serie [ par big.f ] Je désire ecrire sur le port serie Bit a bit la seule solution posible est d'utiliser des instruction d'assembleurmais comment faire?on mais bien parl changement de bit sur le port parallèle "detection du front montant ou descendant" [ par Jacky7 ] </ possible de lire bit par bit sur le port parallèle ?? [ par Loic34000 ] Bonjour à tous,J'ai realisé un prog qui permet de lire le port parallèle seulement pour le moment, je peut lire le changement d'un seul bit de donné à comparaison de chiffre binaire et agir en fonction [ par Jacky7 ] Bonsoir à tous,J'ai realisé un prog qui permet de lire et de convertir la valeur du port de décimale en binaire (bit de donnés de DO à D7) toutes les problème d' Imports [ par jeffrey17 ] Bonjour, je suis assez embêté par un truc qui je pense doit être tout simple : J'avais commencé à réalisé un site en asp.net, mais je me suis récément


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 8,658 sec (4)

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