Actuellement sur un projet personnel sur un pic 16f684, je viens de réaliser un programme qui tourne parfaitement sur un pic 16f877 où je lie une fréquence de 0.2hz a 20Khz et je reagis à un certain seuil (de plus j'affiche la fréquence d'entrée).
Ca marche nickel

Mais voilà mon problème : je viens de passer sur un pic 16f684 et je remarque dès le démarrage qu'aucune interruption n'est générée alors rien ne marche.
Voici le bout de programme concerné :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
__CONFIG(FCMDIS & IESODIS & BOREN & UNPROTECT & MCLRDIS & PWRTDIS & WDTDIS & HS );
void init_pic(void)
{
TRISA = 0x00;   // configure les sorties utilisées du port A
CMCON0 = 7;
ANSEL = 0;
TRISC = 0xFC;	// configure E/S RC5==> CCP1
PORTC=0XFF;    
ADCON1 =0x02;
OPTION=0x7F;
 
}
void init_CCP1(void)
{
CCP1CON=0x05;	//configuration en front montent de la prise de messure
INTCON= 0xC0;	//autorisation generale des interuption GEI =1; 
PIE1=0x05;		//autorisation interuption PIE1
T1CON=0x00;		// 
}
 
interrupt Capture(void)
{
RC0!=RC0;
////////////////////////////////
/* Interuption debordement du timer1 */
if (TMR1IF==1)
{
	TMR1IF=0; 		//mise du flag a 0
}
////////////////////////////////
/* Interuption CCP */
if (CCP1IF==1)
{	
	CCP1IF=0; // remise du drapeau a 0 
}
 
}
 
void main (void)
{
init_pic();
init_CCP1();
while(1);
}
apre la mise a jour du compilateur je n'est plus aucun souci
je suis heurreux se n'etai pas de ma faute