Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2026 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Compter un nombre d'évènement à la suite en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Compter un nombre d'évènement à la suite en C

n°1053213
aurelien27​23
Posté le 20-04-2005 à 10:19:18  profilanswer
 

Bonjour!
Alors c'est certainement assez simple, mais c'est pour placer dans une fonction d'interruption, il faut donc que ce soit le plus rapide possible.
JE m'explique :
il faut que je détecte combien de fois à la suite une valeur récupérée sur interruption est ok, et si cette valeur n'est pas bonne une seule, c'est qu'il y a un problème, on recommence...
C''est pas très clair... J'espère que quelqu'un pourra m'aider svp :)

mood
Publicité
Posté le 20-04-2005 à 10:19:18  profilanswer
 

n°1053408
Emmanuel D​elahaye
C is a sharp tool
Posté le 20-04-2005 à 12:16:33  profilanswer
 

aurelien2723 a écrit :

Alors c'est certainement assez simple, mais c'est pour placer dans une fonction d'interruption, il faut donc que ce soit le plus rapide possible.
JE m'explique :
il faut que je détecte combien de fois à la suite une valeur récupérée sur interruption est ok, et si cette valeur n'est pas bonne une seule, c'est qu'il y a un problème, on recommence...
C''est pas très clair... J'espère que quelqu'un pourra m'aider svp :)


Dans l'interruption tu mets le test et le compteur qui va bien. Je ne vois pas trop où est le problème...
Qu'est-ce qui ne fonctionne pas ?


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1053455
docjeepe
Posté le 20-04-2005 à 13:01:47  profilanswer
 

Il faudrait que tu nous explique un peu plus précisément ton problème, sans quoi nous ne pourrons pas beaucoup t'aider...  
 
-----  
Esil pawa - http://docjeepe.free.fr/location/location.htm

n°1053489
aurelien27​23
Posté le 20-04-2005 à 13:39:47  profilanswer
 

Ok... dsl
J'explique le problème.
Je programme un microcontroleur. Je lui donc deux PWM venant d'un recepteur d'une télécommande radio. JE lis le pwm sans problème.
Le truc, s'est que lorsque la télécommande est coupé, le PWM prend des valeures au hasard, il fait n'importe quoi.
En fait, je dois détecter que la télécommande est allumé, donc, que le PWM est bien entre deux valeures.  
Le problème est donc que je peux avoir des valeurs bonnes alors que la télécomande est éteinte. Après plusieurs réflections, l'idée est de détecter que n valeures de PWM à la suite sont bonnes. Il me faut donc juste les test qui permettent de calculer ca... svp :)

n°1053778
Sebou77
French Tech powaa :-)
Posté le 20-04-2005 à 16:21:26  profilanswer
 

J'ai pas très bien compris, mais tu parles de valeur bonne et pas bonne, dabord connais tu "les valeurs des valeurs" qui sont bonne ?
Si oui bah tout bete il te suffit de vérifier si les valeurs du PWM sont bien dans l'intervalle genre

Code :
  1. if((n<x)&&(n>k)){
  2. ...
  3. }else{
  4. ...}


 
Nan ?? :??:

n°1053991
Emmanuel D​elahaye
C is a sharp tool
Posté le 20-04-2005 à 17:42:54  profilanswer
 

aurelien2723 a écrit :

Ok... dsl
J'explique le problème.
Je programme un microcontroleur. Je lui donc deux PWM venant d'un recepteur d'une télécommande radio. JE lis le pwm sans problème.
Le truc, s'est que lorsque la télécommande est coupé, le PWM prend des valeures au hasard, il fait n'importe quoi.
En fait, je dois détecter que la télécommande est allumé, donc, que le PWM est bien entre deux valeures.  
Le problème est donc que je peux avoir des valeurs bonnes alors que la télécomande est éteinte. Après plusieurs réflections, l'idée est de détecter que n valeures de PWM à la suite sont bonnes. Il me faut donc juste les test qui permettent de calculer ca... svp :)


C'est un bête algorithme qui demande 10 minutes de secouage de neurone...


#define N 3
 
int first = 1;
 
while (1)
{
   int mem;
   int count;
   int val = get_val();
 
   if (first)
   {
      mem = val;
      count = N;  
      first = 0;
   }
   else
   {
      if (mem == val)
      {
         if (count > 0)
         {
            count--;
            if (count == 0)
            {
                printf ("valeur acquise = %d\n", mem);
            }
      }
      else
      {
         /* rearmer l'acquisition */
         mem = val;
         count = N;  
      }
   }
}


Message édité par Emmanuel Delahaye le 20-04-2005 à 17:43:19

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1054109
Sve@r
Posté le 20-04-2005 à 19:12:53  profilanswer
 

aurelien2723 a écrit :

Ok... dsl
J'explique le problème.
Je programme un microcontroleur. Je lui donc deux PWM venant d'un recepteur d'une télécommande radio. JE lis le pwm sans problème.
Le truc, s'est que lorsque la télécommande est coupé, le PWM prend des valeures au hasard, il fait n'importe quoi.
En fait, je dois détecter que la télécommande est allumé, donc, que le PWM est bien entre deux valeures.  
Le problème est donc que je peux avoir des valeurs bonnes alors que la télécomande est éteinte. Après plusieurs réflections, l'idée est de détecter que n valeures de PWM à la suite sont bonnes. Il me faut donc juste les test qui permettent de calculer ca... svp :)


 
1) Tu reçois "n" valeurs
2) Tu considères qu'elles sont toutes true
3) Tu boucles sur chaque valeur
4) Si valeur mauvaise (n'appartient pas à la plage ) => false + sortie de boucle
5) en fin de boucle t'as "true => tout bon" ou "false => une mauvaise valeur trouvée (donc peut-être plusieurs) donc télécommande éteinte"


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1056094
aurelien27​23
Posté le 22-04-2005 à 09:25:24  profilanswer
 

salut!:)
Merci pour vos réponses.
C'est cool, ca marche niquel ;)
@+

n°1057034
Sve@r
Posté le 22-04-2005 à 17:59:11  profilanswer
 

aurelien2723 a écrit :

salut!:)
Merci pour vos réponses.
C'est cool, ca marche niquel ;)
@+


 
C'est un algo tout simple pour vérifier que tous les éléments d'un ensemble sont bons => tu considères d'office qu'ils sont tous bons et t'en cherches un mauvais... ;)


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Compter un nombre d'évènement à la suite en C

 

Sujets relatifs
[sdl] catcher l'evenement click droit et gauche simultannéles grand nombre sous windows
évènement touche enterAjouter un certain nombre de composants lors du load de l'etat
Tester le nombre de retours d'une requête[Image-PHP] Comment recuperer nombre de couleur ?
N'afficher qu'un nombre limité de mots...[wxWidget] èvènement et problème d'anglais
Calculer le nombre de pages sous Word[résolu] gérer l'évènement click et plusieurs TIWGrid
Plus de sujets relatifs à : Compter un nombre d'évènement à la suite en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR