Lire une entree du 18F4550 [Résolu]

Signaler
Messages postés
46
Date d'inscription
mercredi 8 mai 2002
Statut
Membre
Dernière intervention
26 mars 2008
-
dhia222326
Messages postés
1
Date d'inscription
jeudi 9 juillet 2009
Statut
Membre
Dernière intervention
4 juin 2011
-
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

9 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
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
Messages postés
46
Date d'inscription
mercredi 8 mai 2002
Statut
Membre
Dernière intervention
26 mars 2008
5
Le probleme ?

Ne  lire qu' une entree du pic !

Merci

appolofrance
Messages postés
46
Date d'inscription
mercredi 8 mai 2002
Statut
Membre
Dernière intervention
26 mars 2008
5
Super !


Mais je ne comprends pas :



Bit = 2^i 



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


merci
appolofrance
Messages postés
46
Date d'inscription
mercredi 8 mai 2002
Statut
Membre
Dernière intervention
26 mars 2008
5
appolofrance
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
5 février 2015

quellle appli developpe tu avec ton Pic ?
A+
Messages postés
46
Date d'inscription
mercredi 8 mai 2002
Statut
Membre
Dernière intervention
26 mars 2008
5
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
Messages postés
1
Date d'inscription
jeudi 9 juillet 2009
Statut
Membre
Dernière intervention
4 juin 2011

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