Lire une entree du 18F4550 [Résolu]

Messages postés
46
Date d'inscription
mercredi 8 mai 2002
Dernière intervention
26 mars 2008
- - Dernière réponse : dhia222326
Messages postés
1
Date d'inscription
jeudi 9 juillet 2009
Dernière intervention
4 juin 2011
- 4 juin 2011 à 17:54
Bonjour ,

Je souhaite lire une entree du pic 18F4550, comment l'ecrire en VB ?

le Programme de Rylryl  indique l' etat des 8 entrees...
'*****************************************************************
' OnRead évenement...  L'interface cible HID (PIC18F4550) envoie des données !
'*****************************************************************
Public Sub OnRead(ByVal pHandle As Long)
       ' Lecture des données du périphérique  (Buffer(0) report ID) 0
    If hidRead(pHandle, Buffer(0)) Then        Bit 1                 ' Entrée N°1 du PIC18
        ' Affiche l'état des 8 LEDs suivant l'état des 8 entrées du PIC18
        For i = 0 To 7
            If (Buffer(2) And Bit) = Bit Then   ' Si Entrée N°(i+1)=1 =>Led ON
                Led_Entré(i).Picture = ImageListe.ListImages.Item(2).Picture
            Else                                ' Si Entrée N°(i+1)=0 =>Led OFF
                Led_Entré(i).Picture = ImageListe.ListImages.Item(3).Picture
            End If            Bit Bit + Bit     ' Entrée N°(i+1) du PIC18
        Next i
    End If
End Sub
'*****************************************************************

Apparement une tranformation du programme ci-dessus est necessaire.
Merci .
(Internaute en galere)
appolofrance
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
3
Merci
Ben supprime la boucle :

le Programme de Rylryl  indique l' etat des 8 entrees...
'*****************************************************************
' OnRead évenement...  L'interface cible HID (PIC18F4550) envoie des données !
'*****************************************************************
Public Sub OnRead(ByVal pHandle As Long)
      ' Lecture des données du périphérique  (Buffer(0) report ID) 0
    If hidRead(pHandle, Buffer(0)) Then<strike>        Bit 1                 ' Entrée N°1 du PIC18</strike>
        i = 0       ' Mettre le n° de l'entrée à lire de 0 à 7
        Bit = 2^i   'fixe la valeur du bit correspondant
<strike>        ' Affiche l'état des 8 LEDs suivant l'état des 8 entrées du PIC18
        For i = 0 To 7</strike>
            If (Buffer(2) And Bit) = Bit Then   ' Si Entrée N°(i+1)=1 =>Led ON
                Led_Entré(i).Picture = ImageListe.ListImages.Item(2).Picture
            Else                                ' Si Entrée N°(i+1)=0 =>Led OFF
                Led_Entré(i).Picture = ImageListe.ListImages.Item(3).Picture
            End If<strike>            Bit Bit + Bit     ' Entrée N°(i+1) du PIC18
        Next i</strike>
    End If
End Sub
'*****************************************************************

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de cs_casy
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
3
Merci
oui, ça veut dire que tu élève 2 à la puissance i
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
......
2^7 = 128

Ca remplace en une seule instruction le i x (Bit = Bit + Bit) qu'il y avait dans la boucle.

Maintenant si ton n° d'entrée à lire ne doit pas changé, tu peux mettre directement en dur la valeur pour Bit, si tu préfère.

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de cs_casy
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
Et ou est le problème ???

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Commenter la réponse de cs_casy
Messages postés
46
Date d'inscription
mercredi 8 mai 2002
Dernière intervention
26 mars 2008
0
Merci
Le probleme ?

Ne  lire qu' une entree du pic !

Merci

appolofrance
Commenter la réponse de appolofrance
Messages postés
46
Date d'inscription
mercredi 8 mai 2002
Dernière intervention
26 mars 2008
0
Merci
Super !


Mais je ne comprends pas :



Bit = 2^i 



on doit l' 'ecrire tel quel dans le programme ?


merci
appolofrance
Commenter la réponse de appolofrance
Messages postés
46
Date d'inscription
mercredi 8 mai 2002
Dernière intervention
26 mars 2008
0
Merci
appolofrance
Commenter la réponse de appolofrance
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Dernière intervention
5 février 2015
0
Merci
quellle appli developpe tu avec ton Pic ?
A+
Commenter la réponse de cs_SEB73460
Messages postés
46
Date d'inscription
mercredi 8 mai 2002
Dernière intervention
26 mars 2008
0
Merci
Pour le moment je suis en apprentissage sur le pic 18F4550,
une approche de ses capacites et ensuite je me ferais un choix sur le developpement.

Une petite idée du coté domotique ...
A+
appolofrance
Commenter la réponse de appolofrance
Messages postés
1
Date d'inscription
jeudi 9 juillet 2009
Dernière intervention
4 juin 2011
0
Merci
Bonjour a tous,
alors j'utilise l'interface usb a base de 18F4550
je commande les sortie parfaitement mais les entrées ne fonctionne pas si je fournie 5V à l'entrée E1 les led E1 et E2 et E5 et E6 s'allumes alors aucun entrée fonctionne normalement que je doive faire


Merci
Commenter la réponse de dhia222326

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.