2017-04-25 1 views
0

Merci d'avoir lu ceci et d'avoir offert votre temps pour nous aider. J'utilise une framboise pi B 2 + et python pour tester ceci. J'essaie de vérifier l'heure à laquelle ma broche GPIO d'entrée est réglée sur une valeur logique élevée, car le périphérique que j'utilise définit une valeur logique élevée pour que les durées définies représentent différentes conditions. Tels que:Entrées GPIO python, vérification de l'heure pour obtenir des résultats différents

  • 1ms Pulse = ouvert

  • 3 ms Pulse = fermé

  • 5ms Pulse = défaut

Je dois lire ces conditions différentes si je peux Définir si déclarations.

Comme si l'entrée est une impulsion de 1 ms, j'ai besoin de régler l'une de mes broches de sortie à haute logique, cela devra être différent d'une impulsion de 2 ms ou une impulsion de 5 ms.

Un grand merci Will

Répondre

0

Je commenter cette réponse car je ne sais pas si cela vous aidera, mais je ne peux pas. Vous ne pouviez pas utiliser la fonction time.time()?

Faites une boucle while qui vérifie la condition d'entrée du GPIO.

while GPIO.input(pin_number)==0: 
    pulse_start = time.time() 
while GPIO.input(pin_number)==1: 
    pulse_end = time.time() 


pulse_duration = pulse_end - pulse_start 

J'espère que c'est ce que vous cherchiez. Faites-moi savoir si cela a aidé ou non. (Aussi pour utiliser time.time() vous devez importer le temps

+0

désolé pour le retard, j'ai essayé d'utiliser ceci alors merci pour l'aide, cependant, il ne voit jamais la fin du pouls. moi quand la boucle de temps a couru, ouvert pour le début d'impulsion et fermé pour la fin d'impulsion, et il a imprimé constamment ouvert ne quittant jamais la boucle. –