re les amis
voila, je controle deux processus depondants l'un de l'autre avec deux pic16f84a
apres que j'ai passer le problem de connectique, j'ai maintenant un problem software
bref , voila le programme de mon deuxieme PIC:
****************************** ********
#include <16F84A.h>
#use delay(clock=4000000)
#fuses NOWDT,XT, NOPUT, NOPROTECT
void main( void )
{
//Configure port A
SET_TRIS_A(0x14);
//Configure port B
SET_TRIS_B(0x3F);
disable_interrupts(INT_RB);
disable_interrupts(INT_EXT);
disable_interrupts(GLOBAL);
output_low(PIN_B6);
output_low(PIN_B7);
port_b_pullups(TRUE);
while( 1 )
{
if(input(PIN_A2))
{
output_high(PIN_B6);
output_high(PIN_B7);
}
else
{
output_low(PIN_B6);
delay_ms(2000);
output_low(PIN_B7);
}
}
}
****************************** *********
(les broches RB6 et REB7 sont pour activer ou desactiver deux relais)
bon comme vous voyez j'ai d'esactiver toutes les interruptions , je veux que mes entree
agissent comme des entrees ordinaires simples.
bon le programme consiste a attendre jusqua ce qu'un signal apparet sur la broche RA2 .
(ce signale vien du premier PIC exactement de ca broche RB2)
le reste est claire je pense .
MAIS...!!!![]()
apres compilation , mon le deuxieme PIC (celui avec le programme si dessus ) agis bizzarment![]()
les relais emettent un son bizzard , et quand j'ai visualiser le signal entrant dans ces
derniers je l'ai trouve caree a frequence non stable , MAIS ce n'est pas ce que je voulais![]()
je voulais tt simplement marche ou arret....qu'est ce passe t'il ?
svp si quelqu'un a constater une erreur dans mon programme qu'il me la corrige.![]()
ahh, j'ai falli oublier !! quand j'ai lancer mon pic pour la premier fois, il ne repondais pasj'ai cru meme que je l'ai grier
mais apres que j'ai ajouter la commande
disable_interrupt(GLOBAL), il a reagis comme j'ai decris dessus.
bon voila , merci d'avance pour vos reponses.
NB : je n'ai pas oublier de mettre une resistance de protection tentre les broches des deux PIC![]()
-----