Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Erreur Programme LED + BP PIC16F18345
Autant pour moi. C'est modifier.
@++
@++
Erreur Programme LED + BP PIC16F18345
Erreur Programme LED + BP PIC16F18345
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
il manquait une parenthese au 2em test
l'increment doit plutot se faire sur action du BP .. quand il passe à 0 !
l'increment doit plutot se faire sur action du BP .. quand il passe à 0 !
Code : Tout sélectionner
// init au depart !
#define ON 0 // because led tirée au +VCC
#define OFF 1
.. etc ..
etat_Bp= 0; // initialise l' etat au depart
Led=OFF;
while(1) // boucle infinie
{
if ( (etat_Bp == 0) && (BP == 0) // Si le bouton est appuyé => niveau 0 !
{
__delay_ms(30); // attend la fin des rebons mecaniques
if (BP == 0) // on confirme si il est encore appuyé !
{
etat_Bp = 1;
ledR =ON;
unite ++;
}
} // if
if ( (etat_Bp == 1) && (BP == 1) ) // BP relaché, tiré au +VCC par Pull up
{
__delay_ms(30); // attend la fin des rebons mecaniques
if (BP == 1) // il est bien relaché
{
etat_Bp = 0;
ledR =OFF;
}
} //if
} //while
Erreur Programme LED + BP PIC16F18345
J'ai essayé ce code, à la compilation quand j'appuie longtemps sur le bouton la LED s'allume et en relachant la LED s'éteint .
Moi je veux juste un programme qui exécute:
1. quand on appuie sur le bouton et qu'on relâche, la LED s'allume
2. 2ème appuie, on éteint la LED
Je n'arrive pas à trouver la logique, si vous avez d'autres informations, je suis preneur. Merci d'avance !
Moi je veux juste un programme qui exécute:
1. quand on appuie sur le bouton et qu'on relâche, la LED s'allume
2. 2ème appuie, on éteint la LED
Je n'arrive pas à trouver la logique, si vous avez d'autres informations, je suis preneur. Merci d'avance !
Erreur Programme LED + BP PIC16F18345
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
jo7 a écrit :... quand j'appuie longtemps sur le bouton la LED s'allume et en relachant la LED s'éteint .
quand tu appuies longtemps ? 30 mS !!!
c'est quoi ton
__delay_ms(30); ???
avec mikroC c'est
Delay_ms(30);
si 30mS c'est long, c'est qu'il y a un probleme sur ta valeur FOSC !!
verifie qsi tu as bien les 2 secondes allumage led ...
modif:
au 1er appuie Etat_BP passe à 1
il faut un 2eme appui pour que Etat_Bp= repasse à zero et eteigne la led
Code : Tout sélectionner
/ init au depart !
#define ON 0 // because led tirée au +VCC
#define OFF 1
.. etc ..
Led=ON;
__delay_ms(2000);
Led=OFF;
__delay_ms(2000);
Led=ON;
__delay_ms(2000);
Led=OFF;
etat_Bp= 0; // initialise l' etat au depart
Led=OFF;
while(1) // boucle infinie
{
if ( (etat_Bp <2 ) && (BP == 0) // Si le bouton est appuyé => niveau 0 !
{
__delay_ms(30); // attend la fin des rebons mecaniques
if (BP == 0) // on confirme si il est encore appuyé !
{
etat_Bp++;
ledR =ON;
unite ++;
while(BP==0); // :furieux: il faut le relacher ce BP !
}
} // if
if ( (etat_Bp >1) && (BP == 1) ) // BP relaché, tiré au +VCC par Pull up
{
__delay_ms(30); // attend la fin des rebons mecaniques
if (BP == 1) // il est bien relaché
{
etat_Bp = 0;
ledR =OFF;
}
} //if
} //while
Erreur Programme LED + BP PIC16F18345
Erreur Programme LED + BP PIC16F18345
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 47 invités