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
[Programmation] La gestion de Fonction
-
HVDifusion
Débutant- Messages : 43
- Enregistré en : décembre 2015
Salut,
J'ai testé ton programme.
Alors tu avais configuré RB0 et RB2 en entrée,c'étais RB1 en sortie et RB2 en entrée,je n'utilisais pas RB0.
J'ai modifier les temps de chaque partie a 3s pour le (15min et 3min) et 10s pour le (1h) juste pour tester si tous fonctionnais bien pour éviter d'attendre le temps complet lol.
Mais le programme ne fonctionne pas,quand j'alimente tous RB2 est bien polarisé avec une fil de pontage relié au 5V et quand je débranche le fils du RB0 est tiré a la masse avec une résistance de 10K.Donc configuration en pull-down de la pin RB2 qui sert de VoltCheck.
Une led avec résistance de 470E est placée sur la pin RB1 pour simulé l'alarme.
Voici le code fournis avec les modifications :
A mon avis tu a oublier de désactivé les pull-up sur le PORTB ce qui fait que celas ne fonctionnerais pas,mais je suis pas sur.
Cordialement.
J'ai testé ton programme.
Alors tu avais configuré RB0 et RB2 en entrée,c'étais RB1 en sortie et RB2 en entrée,je n'utilisais pas RB0.
J'ai modifier les temps de chaque partie a 3s pour le (15min et 3min) et 10s pour le (1h) juste pour tester si tous fonctionnais bien pour éviter d'attendre le temps complet lol.
Mais le programme ne fonctionne pas,quand j'alimente tous RB2 est bien polarisé avec une fil de pontage relié au 5V et quand je débranche le fils du RB0 est tiré a la masse avec une résistance de 10K.Donc configuration en pull-down de la pin RB2 qui sert de VoltCheck.
Une led avec résistance de 470E est placée sur la pin RB1 pour simulé l'alarme.
Voici le code fournis avec les modifications :
Code : Tout sélectionner
// Definition PORTB Pin
#define VoltCheck PORTB.B2
#define Signal PORTB.B1
// Set Variable
unsigned int time, chrono, pause1heure, pause15minutes, alarme3minutes ;
void interrupt()
{
if (INTCON.T0IF == 1) // If TMR0 Overflowing
{
INTCON.T0IF = 0; // Réarmement du flag
TMR0 = 100; // Offset du timer0
time++; // 10ms time incrémente
if (time >= 100) // 1 seconde d'écoulée
{
chrono++; // On icrémente le chrono
time = 0; // On raz time
}
}
}
void main()
{
PORTB = 0; // PORTB en digital
TRISB = 0b00000100; // RB1 Out RB2 IN
PCON.B3 = 1; // 4Mhz oscillator
// configuration TIMER0
OPTION_REG = 0x85;
TMR0 = 100;
INTCON = 0x80; // GIE activé, l'INT timer0 n'est pas encore activée
// Initialisation Variable
pause1heure = pause15minutes = alarme3minutes= chrono = time = 0 ;
delay_ms (1000);
while(1){
//------------------------------------------------------------------------------
if (VoltCheck == 1) // Contact maintenu
{
pause1heure = pause15minutes = alarme3minutes= chrono = time = 0 ;
T0IE_bit = 0; // On arrete le chrono
}
else
{
delay_ms(10); // Pause antirebond
if (VoltCheck==0 && pause1heure==0 && pause15minutes==0)
{
delay_ms(200); // Pause detection d'impulsion
if (VoltCheck == 1) // C'était juste une impulsion
{
pause1heure = 1; // On fait une pause d'une heure
}
else // Le contact est toujours pas maintenu
{
pause15minutes = 1; // On attend 15 minutes
}
chrono = 0;
time = 0;
T0IE_bit = 1; // On lance le chrono
}
}
}
//------------------------- ATTENTE 1 HEURE --------------------------------
if ( pause1heure == 1 && chrono >= 10) // l'attente d'une heure est finie
{
pause1heure = 0; // On arrete la pause d'une heure
// action à faire
T0IE_bit = 0; // On arrete le chrono
}
//------------------------- ATTENTE 15 MINUTES -----------------------------
if ( pause15minutes == 1 && chrono >= 3) // l'attente d'une heure est finie
{
pause15minutes = 0; // On arrete la pause 15 minutes
alarme3minutes = 1; // On active l'alarme pour 3 minutes
Signal = 1; // On active l'alarme
chrono = 0; // RAZ du chrono
time = 0; // RAZ de l'offset
T0IE_bit = 1; // On lance le chrono
}
//------------------------- ATTENTE 3 MINUTES ------------------------------
if (alarme3minutes = 1 && chrono>=3) // au bout des trois minutes
{
alarme3minutes = 0; // On arrete l'alarme des 3 minutes
Signal = 0 ; // On éteint l'alarme
T0IE_bit = 0; // On arrete le chrono
}
}
A mon avis tu a oublier de désactivé les pull-up sur le PORTB ce qui fait que celas ne fonctionnerais pas,mais je suis pas sur.
Cordialement.
[Programmation] La gestion de Fonction
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
salut,
Content d'avoir de tes nouvelles, même si cela ne fonctionne pas encore !
J'a iun doute aussi, seul un test lèvera le doute . Je ne me suis jamais servi des pull-up interne encore !! Mais qu'il sont désactivé par defauts ma parait normal donc pas besoin de le faire.
Sinon tu image si une personne oublié de les désactivé ça fou le bordel !
Par contre tu peux déjà remplacé
PORTB = 0; // PORTB en digital
par
ANSELB = 0; //PORTB en digital
Le mot PORTB affecte une valeur c'est ANSEL qu'il faut utilisé !
Pour les branchements, il faut que tu fasse un schéma de ce que tu as fais exactement comme branchement sinon on va galérer !
Je t'ai rajouter un petit test en faisant clignoter 3 fois ta led au départ pour voir que tout ce passe bien au niveau de tes temporisations.
Content d'avoir de tes nouvelles, même si cela ne fonctionne pas encore !
A mon avis tu a oublier de désactivé les pull-up sur le PORTB ce qui fait que celas ne fonctionnerais pas,mais je suis pas sur.
J'a iun doute aussi, seul un test lèvera le doute . Je ne me suis jamais servi des pull-up interne encore !! Mais qu'il sont désactivé par defauts ma parait normal donc pas besoin de le faire.
Sinon tu image si une personne oublié de les désactivé ça fou le bordel !
Par contre tu peux déjà remplacé
PORTB = 0; // PORTB en digital
par
ANSELB = 0; //PORTB en digital
Le mot PORTB affecte une valeur c'est ANSEL qu'il faut utilisé !
Pour les branchements, il faut que tu fasse un schéma de ce que tu as fais exactement comme branchement sinon on va galérer !
Je t'ai rajouter un petit test en faisant clignoter 3 fois ta led au départ pour voir que tout ce passe bien au niveau de tes temporisations.
Code : Tout sélectionner
// Definition PORTB Pin
#define VoltCheck PORTB.B2
#define Signal PORTB.B1
// Set Variable
unsigned int time, chrono, pause1heure, pause15minutes, alarme3minutes ;
void interrupt()
{
if (INTCON.T0IF == 1) // If TMR0 Overflowing
{
INTCON.T0IF = 0; // Réarmement du flag
TMR0 = 100; // Offset du timer0
time++; // 10ms time incrémente
if (time >= 100) // 1 seconde d'écoulée
{
chrono++; // On icrémente le chrono
time = 0; // On raz time
}
}
}
void main()
{
ANSELB = 0; // PORTB en digital
TRISB = 0b00000100; // RB1 Out RB2 IN
PCON.B3 = 1; // 4Mhz oscillator
// configuration TIMER0
OPTION_REG = 0x85;
TMR0 = 100;
INTCON = 0x80; // GIE activé, l'INT timer0 n'est pas encore activée
// Initialisation Variable
pause1heure = pause15minutes = alarme3minutes = chrono = time = 0 ;
delay_ms (1000);
for (i=0; i<=3; i++)
{
signal = ~signal; // on inverse la led
delay_ms (500);
}
while(1){
//------------------------------------------------------------------------------
if (VoltCheck == 1) // Contact maintenu
{
pause1heure = pause15minutes = alarme3minutes= chrono = time = 0 ;
T0IE_bit = 0; // On arrete le chrono
}
else
{
delay_ms(10); // Pause antirebond
if (VoltCheck==0 && pause1heure==0 && pause15minutes==0)
{
delay_ms(200); // Pause detection d'impulsion
if (VoltCheck == 1) // C'était juste une impulsion
{
pause1heure = 1; // On fait une pause d'une heure
}
else // Le contact est toujours pas maintenu
{
pause15minutes = 1; // On attend 15 minutes
}
chrono = 0;
time = 0;
T0IE_bit = 1; // On lance le chrono
}
}
}
//------------------------- ATTENTE 1 HEURE --------------------------------
if ( pause1heure == 1 && chrono >= 10) // l'attente d'une heure est finie
{
pause1heure = 0; // On arrete la pause d'une heure
// action à faire
T0IE_bit = 0; // On arrete le chrono
}
//------------------------- ATTENTE 15 MINUTES -----------------------------
if ( pause15minutes == 1 && chrono >= 3) // l'attente d'une heure est finie
{
pause15minutes = 0; // On arrete la pause 15 minutes
alarme3minutes = 1; // On active l'alarme pour 3 minutes
Signal = 1; // On active l'alarme
chrono = 0; // RAZ du chrono
time = 0; // RAZ de l'offset
T0IE_bit = 1; // On lance le chrono
}
//------------------------- ATTENTE 3 MINUTES ------------------------------
if (alarme3minutes = 1 && chrono>=3) // au bout des trois minutes
{
alarme3minutes = 0; // On arrete l'alarme des 3 minutes
Signal = 0 ; // On éteint l'alarme
T0IE_bit = 0; // On arrete le chrono
}
}
[Programmation] La gestion de Fonction
-
HVDifusion
Débutant- Messages : 43
- Enregistré en : décembre 2015
Salut,
"ANSEL" ça passe pas quand je compile,c'est de l'assembleur ça pas du C donc microC me dit qu'il veut pas.
Voici le schéma : http://prntscr.com/c820nz
Voici le code que j'ai modifier car il y avais quelque erreur :
La led clignotais 2 fois,maintenant elle clignote 3x.
Si tu veut j'ai juste mit un pontage entre le +5V et RB2 pour faire contacte ou non manuellement.
Quand je le retire la pin est a 0V donc après 3s la led devrais s'allumée 3s et s'éteindre.
"ANSEL" ça passe pas quand je compile,c'est de l'assembleur ça pas du C donc microC me dit qu'il veut pas.
Voici le schéma : http://prntscr.com/c820nz
Voici le code que j'ai modifier car il y avais quelque erreur :
Code : Tout sélectionner
// Definition PORTB Pin
#define VoltCheck PORTB.B2
#define Signal PORTB.B1
// Set Variable
unsigned int time, chrono, pause1heure, pause15minutes, alarme3minutes , i ;
void interrupt()
{
if (INTCON.T0IF == 1) // If TMR0 Overflowing
{
INTCON.T0IF = 0; // Réarmement du flag
TMR0 = 100; // Offset du timer0
time++; // 10ms time incrémente
if (time >= 100) // 1 seconde d'écoulée
{
chrono++; // On icrémente le chrono
time = 0; // On raz time
}
}
}
void main()
{
PORTB = 0; // PORTB en digital
TRISB = 0b00000100; // RB1 Out RB2 IN
PCON.B3 = 1; // 4Mhz oscillator
// configuration TIMER0
OPTION_REG = 0b10000101; // pull up disable,presc 1:64
TMR0 = 100;
INTCON = 0x80; // GIE activé, l'INT timer0 n'est pas encore activée
// Initialisation Variable
pause1heure = pause15minutes = alarme3minutes = chrono = time = i = 0 ;
Signal = 0;
for (i=0; i<=5; i++)
{
Signal =~ Signal; // on inverse la led
delay_ms (350);
}
while(1){
//------------------------------------------------------------------------------
if (VoltCheck == 1) // Contact maintenu
{
pause1heure = pause15minutes = alarme3minutes= chrono = time = 0 ;
T0IE_bit = 0; // On arrete le chrono
}
else
{
delay_ms(10); // Pause antirebond
if (VoltCheck==0 && pause1heure==0 && pause15minutes==0)
{
delay_ms(200); // Pause detection d'impulsion
if (VoltCheck == 1) // C'était juste une impulsion
{
pause1heure = 1; // On fait une pause d'une heure
}
else // Le contact est toujours pas maintenu
{
pause15minutes = 1; // On attend 15 minutes
}
chrono = 0;
time = 0;
T0IE_bit = 1; // On lance le chrono
}
}
}
//------------------------- ATTENTE 1 HEURE --------------------------------
if ( pause1heure == 1 && chrono >= 10) // l'attente d'une heure est finie
{
pause1heure = 0; // On arrete la pause d'une heure
// action à faire
T0IE_bit = 0; // On arrete le chrono
}
//------------------------- ATTENTE 15 MINUTES -----------------------------
if ( pause15minutes == 1 && chrono >= 3) // l'attente d'une heure est finie
{
pause15minutes = 0; // On arrete la pause 15 minutes
alarme3minutes = 1; // On active l'alarme pour 3 minutes
Signal = 1; // On active l'alarme
chrono = 0; // RAZ du chrono
time = 0; // RAZ de l'offset
T0IE_bit = 1; // On lance le chrono
}
//------------------------- ATTENTE 3 MINUTES ------------------------------
if (alarme3minutes = 1 && chrono>=3) // au bout des trois minutes
{
alarme3minutes = 0; // On arrete l'alarme des 3 minutes
Signal = 0 ; // On éteint l'alarme
T0IE_bit = 0; // On arrete le chrono
}
}
La led clignotais 2 fois,maintenant elle clignote 3x.
Si tu veut j'ai juste mit un pontage entre le +5V et RB2 pour faire contacte ou non manuellement.
Quand je le retire la pin est a 0V donc après 3s la led devrais s'allumée 3s et s'éteindre.
[Programmation] La gestion de Fonction
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Hello,
Non non ce n'est pas de l'assembleur, mais bien du "C" , c'est juste ton PIC qui ne l'a comprends pas !
Peux-tu essayer avec ANSEL = 0;, dans un premier temps puis ANSELH = 0 ; dans un second temps ( si le premier fonctionne).
J'ai verifié le programme je ne vois pas d'erreur . Soit elle est toute petite , une erreur à la con comme je les apellent....., soit je suis une bille !
Malheuresement c'est à toi de jouer, pour trouver le probléme.
AS-tu d'autre led ? Il faut placer des témoins visuels dans le programme pour voir ce qui se passe et débugger.
Dans ton cas précis, tu place ton pontage, donc RB2 = 1 , donc Voltcheck = 1 . On tourne en boucle en mettant tout à zéro et en arrêtant le compteur.
Si tu retire ton strap ( et que tu le laisse retiré) . Voltcheck passe à zéro , comme avant tout était remis à zéro, on rentre dans cette boucle :
On attend 200ms pour voir si c'est une petite impulsion . Mais tu as complétement retiré le strap, docn au bout des 200ms voltcheck est toujours à 0.
On signale donc que pause15minutes = 1; que l'on souhaite faire une pause de 15 minutes .
Par sécurité on RAZ le chronomètre, le time et on active l'interruption sur TMR0 pour lancer le chrono.
On as donc voltcheck toujours à 0 , pause15minutes à 1 et le chrono qui tourne ( il compte les secondes). A cet instant précis le programme ne peut rentrer donc aucune boucle.
Jusqu’à ce que le chrono soit égal à 3 ( >= 3 secondes), car Pause15minutes = 1 et chrono >=3, La il rentre ici :
Tu pourrais faire clignoter un truc pour voir si le programme rentre bien ici ? Si tu as une autre led ce serait parfait , sinon tu fais une combinaison de clignotement .
J'attends de tes nouvelles .
A+
"ANSEL" ça passe pas quand je compile,c'est de l'assembleur ça pas du C donc microC me dit qu'il veut pas.
Non non ce n'est pas de l'assembleur, mais bien du "C" , c'est juste ton PIC qui ne l'a comprends pas !
Peux-tu essayer avec ANSEL = 0;, dans un premier temps puis ANSELH = 0 ; dans un second temps ( si le premier fonctionne).
J'ai verifié le programme je ne vois pas d'erreur . Soit elle est toute petite , une erreur à la con comme je les apellent....., soit je suis une bille !
Malheuresement c'est à toi de jouer, pour trouver le probléme.
AS-tu d'autre led ? Il faut placer des témoins visuels dans le programme pour voir ce qui se passe et débugger.
Dans ton cas précis, tu place ton pontage, donc RB2 = 1 , donc Voltcheck = 1 . On tourne en boucle en mettant tout à zéro et en arrêtant le compteur.
Si tu retire ton strap ( et que tu le laisse retiré) . Voltcheck passe à zéro , comme avant tout était remis à zéro, on rentre dans cette boucle :
Code : Tout sélectionner
if (VoltCheck==0 && pause1heure==0 && pause15minutes==0)
{
delay_ms(200); // Pause detection d'impulsion
if (VoltCheck == 1) // C'était juste une impulsion
{
pause1heure = 1; // On fait une pause d'une heure
}
else // Le contact est toujours pas maintenu
{
pause15minutes = 1; // On attend 15 minutes
}
chrono = 0;
time = 0;
T0IE_bit = 1; // On lance le chrono
}
On attend 200ms pour voir si c'est une petite impulsion . Mais tu as complétement retiré le strap, docn au bout des 200ms voltcheck est toujours à 0.
On signale donc que pause15minutes = 1; que l'on souhaite faire une pause de 15 minutes .
Par sécurité on RAZ le chronomètre, le time et on active l'interruption sur TMR0 pour lancer le chrono.
On as donc voltcheck toujours à 0 , pause15minutes à 1 et le chrono qui tourne ( il compte les secondes). A cet instant précis le programme ne peut rentrer donc aucune boucle.
Jusqu’à ce que le chrono soit égal à 3 ( >= 3 secondes), car Pause15minutes = 1 et chrono >=3, La il rentre ici :
Code : Tout sélectionner
if ( pause15minutes == 1 && chrono >= 3) // l'attente d'une heure est finie
{
pause15minutes = 0; // On arrete la pause 15 minutes
alarme3minutes = 1; // On active l'alarme pour 3 minutes
Signal = 1; // On active l'alarme
chrono = 0; // RAZ du chrono
time = 0; // RAZ de l'offset
T0IE_bit = 1; // On lance le chrono
}
Tu pourrais faire clignoter un truc pour voir si le programme rentre bien ici ? Si tu as une autre led ce serait parfait , sinon tu fais une combinaison de clignotement .
J'attends de tes nouvelles .
A+
[Programmation] La gestion de Fonction
-
HVDifusion
Débutant- Messages : 43
- Enregistré en : décembre 2015
Yop,
Voila j'ai pu faire des testes sur le programme.
Première chose ton ANSEL marche pas et le ANSELH non plus,je sais pas pourquoi.
Ensuite j'ai rajouté une LED qui s'appel dans le programme (Debug) et je l'ai branché sur RB4 qui étais libre.
J'ai mit la LED dans les différente sections du programme et voici le rapport :
-Voltcheck = 1 (ok)
-Voltcheck = 0 (ok)
-Teste Voltcheck = 0 (impulsion/coupure ?) impulsion (ok),coupure (ok)
-ATTENTE 3 MINUTES , ATTENTE 15 MINUTES et ATTENTE 1 HEURE (aucune réaction de la led)
-Teste T0IF TMR0 (décompte ok)
Voila j'ai voulus faire simple et court pour évité toute confusion.
Voila j'ai pu faire des testes sur le programme.
Première chose ton ANSEL marche pas et le ANSELH non plus,je sais pas pourquoi.
Ensuite j'ai rajouté une LED qui s'appel dans le programme (Debug) et je l'ai branché sur RB4 qui étais libre.
J'ai mit la LED dans les différente sections du programme et voici le rapport :
-Voltcheck = 1 (ok)
-Voltcheck = 0 (ok)
-Teste Voltcheck = 0 (impulsion/coupure ?) impulsion (ok),coupure (ok)
-ATTENTE 3 MINUTES , ATTENTE 15 MINUTES et ATTENTE 1 HEURE (aucune réaction de la led)
-Teste T0IF TMR0 (décompte ok)
Voila j'ai voulus faire simple et court pour évité toute confusion.
[Programmation] La gestion de Fonction
[Programmation] La gestion de Fonction
-
HVDifusion
Débutant- Messages : 43
- Enregistré en : décembre 2015
[Programmation] La gestion de Fonction
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
HVDifusion a écrit :Source du message void interrupt()
{
if (INTCON.T0IF == 1) // If TMR0 Overflowing
{
INTCON.T0IF = 0; // Réarmement du flag
TMR0 = 100; // Offset du timer0
time++; // 10ms time incrémente
if (time >= 100) // 1 seconde d'écoulée
{
chrono++; // On icrémente le chrono
Debug = ~debug;
time = 0; // On raz time
}
}
}
dans la routine d'INTerruption place la led debug, faire en sorte qu'elle clignote . En remplace le mot "time" par "temps" , c'est peut être un mot interdit ! ( la flemme de chercher.
[Programmation] La gestion de Fonction
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Ok donc c'est l'INT qui foire. j'attends que tu changes le mot time de partout pour voir et je regarde l'INT
remplace
Par
Si la fonctionne pas, on fera seulement clignoter une LED par le Timer0, car j'en perds mon latin
remplace
Code : Tout sélectionner
// configuration TIMER0
OPTION_REG = 0b10000101; // pull up disable,presc 1:64
TMR0 = 100;
INTCON = 0x80; // GIE activé, l'INT timer0 n'est pas encore activée
Par
Code : Tout sélectionner
// configuration TIMER0
OPTION_REG = 0b10000101; // pull up disable,presc 1:64
INTCON.GIE = 1;
INTCON.T0IF = 0;
INTCON.T0IE = 1;
TMR0 = 100;
INTCON.T0IE = 0;
Si la fonctionne pas, on fera seulement clignoter une LED par le Timer0, car j'en perds mon latin
[Programmation] La gestion de Fonction
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
A tester directement :
Code : Tout sélectionner
// Definition PORTB Pin
#define VoltCheck PORTB.B2
#define Signal PORTB.B1
// Set Variable
unsigned int temps, chrono, i ;
void interrupt()
{
if (INTCON.T0IF == 1) // If TMR0 Overflowing
{
INTCON.T0IF = 0; // Réarmement du flag
TMR0 = 100; // Offset du timer0
temps++; // 10ms time incrémente
if (temps >= 100) // 1 seconde d'écoulée
{
chrono++; // On icrémente le chrono
temps = 0; // On raz time
}
}
}
void main()
{
TRISB = 0b00000100; // RB1 Out RB2 IN
PORTB = 0; // PORTB en digital
PCON.B3 = 1; // 4Mhz oscillator
// configuration TIMER0
OPTION_REG = 0b10000101; // pull up disable,presc 1:64
INTCON.GIE = 1;
INTCON.T0IF = 0;
INTCON.T0IE = 1;
TMR0 = 100;
INTCON.T0IE = 0;
// Initialisation Variable
chrono = time = i = 0 ;
while(1){
if ((chrono%2) == 0)
{
Signal = 1;
}
else
{
Signal = 0;
}
}
}
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 44 invités