Répondre à la discussion
Page 3 sur 3 PremièrePremière 3
Affichage des résultats 61 à 62 sur 62

Interruptions avec bouton (Arduino)

  1. #61
    Vincent PETIT

    Re : Interruptions avec bouton (Arduino)

    Citation Envoyé par Seb.26 Voir le message
    En fait, pour moi (ce n'est donc que mon avis) un main() doit s’exécuter en un temps donné au maximum (la granularité de ton système), la boucle est cadencée via l'IT d'un timer, cela implique donc de gérer un % de CPU.[...]
    C'est je pense juste une question de point de vue et de savoir ce que l'on veut pouvoir faire ou pas.
    Je suis totalement d'accord !

    Citation Envoyé par Seb.26 Voir le message
    mais je trouve dommage de renoncer à :
    > un filtrage des entrées BP
    > pouvoir détecter un double appui
    > un appui long
    > un appuis BP1+BP2
    > etc.
    Ce n'est pas incompatible avec les interruptions et ça demande un peu de polling certain de tes exemples.

    Exemple si jamais tu appuis sur le bp 1 longtemps ou pas longtemps :
    Code:
    fonction_interruption_bp()
    {
    	switch(quel_flag_du_port_a_été_levé)
    	{
    		case 0 : etat = 1; break; /* bp1 appuyé */
    		case 1 : etat = 2; break; /* bp2 appuyé */
    		case 2 : etat = 3; break; /* bp3 appuyé */
    		case 3 : etat = 4; break; /* bp4 appuyé */
    		default : etat = 0;
    	}
    }
    
    
    regarder_Si_bp1_Encore_Enfoncé_1ms_Plustard()
    {
    	tempo(1ms);
    
    	if(bp1 == 1)
    		return 1;
    
    	return 0;
    
    }
    
    
    
    int main ()
    {
       while(1)
       {
    	switch(etat)
    	{
    		case 1 : 
    			if(regarder_Si_bp1_Encore_Enfoncé_1ms_Plustard())
    			{
    				etat = 5;
    			}
    			else
    			{
    			 	fonction_bp1();
     			}
    			break; /* bp1 appuyé */
    
    
    		case 2 : fonction_bp2(); break; /* bp2 appuyé */
    		case 3 : fonction_bp3(); break; /* bp3 appuyé */
    		case 4 : fonction_bp4(); break; /* bp4 appuyé */
    
    
    
    		case 5 : appuie_long_fonction_bp1; break; /* bp1 appuie long */
    
    		default : veille();
    	}
       }
    }
    Nous sommes d'accord, le soft c'est avant tout une manière de voir les choses et il y en a autant que de personne.

    -----

    Là où il n'y a pas de solution, il n'y a pas de problème.

  2. Publicité
  3. #62
    Seb.26

    Re : Interruptions avec bouton (Arduino)

    Par appuis long, je pensais plus à ce que l'on fait sur un smart phone, genre un contact maintenu entre 1000 et 1500ms
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

Page 3 sur 3 PremièrePremière 3

Discussions similaires

  1. [Analogique] On/Off Arduino avec Bouton Fugitif
    Par Rodila dans le forum Électronique
    Réponses: 3
    Dernier message: 02/06/2016, 16h32
  2. Besoin d'aide Servomoteur Arduino avec bouton.
    Par theol31 dans le forum Électronique
    Réponses: 3
    Dernier message: 12/02/2016, 00h04
  3. Alimentation Arduino avec bouton manuel et electrique
    Par baptiste77370 dans le forum Électronique
    Réponses: 3
    Dernier message: 10/10/2015, 18h56
  4. besoin d'aide bouton poussoir avec l'arduino mega
    Par joeman1 dans le forum Électronique
    Réponses: 11
    Dernier message: 20/10/2014, 20h32
  5. Allumer une led avec un bouton pousoir (Arduino)
    Par Darrkshadow dans le forum Électronique
    Réponses: 9
    Dernier message: 12/12/2012, 13h26