Lire une entree du 18F4550 [Résolu]

appolofrance 46 Messages postés mercredi 8 mai 2002Date d'inscription 26 mars 2008 Dernière intervention - 19 mars 2008 à 21:16 - Dernière réponse : dhia222326 1 Messages postés jeudi 9 juillet 2009Date d'inscription 4 juin 2011 Dernière intervention
- 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
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 19 mars 2008 à 22:00
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

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_casy
Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 19 mars 2008 à 22:19
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

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_casy
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 19 mars 2008 à 21:29
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
appolofrance 46 Messages postés mercredi 8 mai 2002Date d'inscription 26 mars 2008 Dernière intervention - 19 mars 2008 à 21:51
0
Merci
Le probleme ?

Ne  lire qu' une entree du pic !

Merci

appolofrance
Commenter la réponse de appolofrance
appolofrance 46 Messages postés mercredi 8 mai 2002Date d'inscription 26 mars 2008 Dernière intervention - 19 mars 2008 à 22:06
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
appolofrance 46 Messages postés mercredi 8 mai 2002Date d'inscription 26 mars 2008 Dernière intervention - 19 mars 2008 à 22:37
0
Merci
appolofrance
Commenter la réponse de appolofrance
cs_SEB73460 259 Messages postés vendredi 15 avril 2005Date d'inscription 5 février 2015 Dernière intervention - 20 mars 2008 à 17:58
0
Merci
quellle appli developpe tu avec ton Pic ?
A+
Commenter la réponse de cs_SEB73460
appolofrance 46 Messages postés mercredi 8 mai 2002Date d'inscription 26 mars 2008 Dernière intervention - 21 mars 2008 à 00:34
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
dhia222326 1 Messages postés jeudi 9 juillet 2009Date d'inscription 4 juin 2011 Dernière intervention - 4 juin 2011 à 17:54
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.