Bonjour,
Je suis en train de programmer un timer qui est censé me décrémenter une variable que j'ai nommé "temps" à chaque débordement de timer (toutes les 1 seconde). Pour faire ceci j'utilise un PIC32MX795 (à ce jour je n'ai utilisé que le LPC2378).
Lors de la compilation j'ai ces deux erreurs suivantes :
error: Interrupt priority must be specified as 'single' or 'IPLn[AUTO|SOFT|SRS]', where n is in the range of 0..7, inclusive.
error: Vector number must be an integer between 0 and 63
Ces deux erreurs viennent de la fonction d'interruption du timer à _Timer_3_Vector et ip11. Ce qui est étrange car j'ai suivi la datasheet du composant en utilisant le timer 3. Peut être est-ce une erreur "bête" que je n'ai pas su voir.
Voici mon code :
#include <p32xxxx.h>
#include <plib.h>
unsigned long temps = 100;
//Dans la fonction d'interruption du timer on décrémente la variable temps de 1
void __ISR(_Timer_3_Vector, ip11) Timer3Handler(void)
{
temps = temps - 1;
IFS0CLR = 0x1000;//la requête d'interruption a eu lieu pour le timer 3
}
//On initialise le timer 3 avec une valeur TMRx de telle sorte qu'il y'ait une interruption toutes les 1 minutes
void init_timer()
{
T3CON = 0x0;
T3CONSET = 0x73;//on autorise le mode 32 bits et son se place en valeur prescalaire 1:256
TMR3 = impulsion;
PR3 = 0xFFFFFFFF;//registre de période max
IPC3SET = 0x3;//la priorité du timer 3 est 1
IPC3SET = 0x1;//la sous priorité du timer 3 est 1
IFS0CLR = 0x100000;//la requête d'interruption a eu lieu
IEC0SET = 0x100000;//autorisation de l'interruption
T3CONSET = 0x8000;//on autorise le module (démarrage du timer)
}
int main ()
{
init_timer;
while (1)
{
}
}
Merci pour vos réponses
-----