Analyseur logique

marvinl Messages postés 2 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 31 octobre 2010 - 30 oct. 2010 à 18:34
marvinl Messages postés 2 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 31 octobre 2010 - 31 oct. 2010 à 19:58
Bonjour à tous,

Je fais appel à votre aide car j'aimerais réaliser un analyseur logique à base de pic.
Mon pic envoi 1 byte par une liaison série et j'aimerais afficher le bit 0 dans un canal1, le bit 1 dans le canal 2 et ainsi de suite jusque le bit 7 dans le canal 8 et pour terminer afficher le tout dans une picturebox ou autre.

La liaison série fonctionne mais je n'arrive pas à réaliser le reste.

D'avance je vous remercie pour l'aide que vous m'apporterez.

Cordialement.

6 réponses

CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
31 oct. 2010 à 08:52
Salut Marvinl,
Voici peut être une fonction qui t'aidera,
elle affiche un byte sous une forme binaire: (8 Bits)

Dim Valeur as byte, Retour as string
Retour=Convert.ToString(Valeur, 2)
'le 2 indique une base binaire

Afficher cela dans une picturebox te demandera peut être pas mal d'adaptation, par contre dans un textbox c'est tout simple

Textbox.text=retour

Bonne prog
CGSI3
0
Profil bloqué
31 oct. 2010 à 11:46
Salut marvinl
La piste donnée par CGSI3 est correcte mais concerne VB Net
en Vb6 cela donne

Dim Valeur as byte, Retour as string
Retour=Hex(Valeur)
Do
if Len(retour) = 8 Then Exit Do
Retour = "0" & Retour
Loop

La boucle Do Loop sert uniquement pour afficher les Bits à 0 non significatifs pour affichage sur 8 bits



La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
31 oct. 2010 à 12:04
Bonjour Galain,
J'ajoute juste cela pour info et améliorer le rendu en vb.net

exemple: valeur as byte=3 'soit 0000 0011
on peux modifier 1 ligne

Retour = Convert.ToString(Valeur, 2) 'retour="11"
par
Retour = Convert.ToString(Valeur, 2).PadLeft(8, "0") 'retour="00000011"

reste a l'améliorer en "0000 0011" pour la lisibilité (l'espace)
je peux l'améliorer par la gestion de la chaine (mid left etc ...)
mais est ce que String.Format peut le faire?
0
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
31 oct. 2010 à 13:00
Voici une solution pour finir la dessus:
Retour = Retour.Insert(4, " ")
"00000011" ==> "0000 0011"
Bonne Prog
CGSI3
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
31 oct. 2010 à 13:10
bien vu CGSI3


La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
marvinl Messages postés 2 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 31 octobre 2010
31 oct. 2010 à 19:58
Bonsoir à vous,
Merci pour votre aide qui m'est très précieuse.
Ce code m'est déjà utile.

Le principe de cet analyseur est: je lis le port du pic, je l'envoi par rs232 , mon logiciel traite le byte et devrais l'afficher dans un picturebox.
Je me demande aussi comment afficher une trace par canal dans le picturebox ? ( style oscillo)
j'arrive à tracer dans ce picturebox, une ligne mais pour le reste ...

Qui a une idée ?

Merci à tous.
0
Rejoignez-nous