Bonjour, j'essaye de créer un compteur pour gérer l'état de leds.
Je voudrais créer une interruption qui incrément le compteur jusqu'à 100 puis le remete à 0 et recomence.
J'utilise un pic32 pour controler mon systeme
pouvez vous me dire ce qui ne va pas dans mon prog.
void __ISR(_TIMER_1_VECTOR, ipl2) Timer1Handler(void)
{int cpt;
// clear the interrupt flag
mT1ClearIntFlag();
cpt++;
if (cpt==100)cpt=0;
}
.
.
.
.
int main(void)
{
/***********************Initial isation*********************** ************************/
int pbClk; /**************************/
pbClk=SYSTEMConfig(SYS_FREQ, SYS_CFG_WAIT_STATES | SYS_CFG_PCACHE);
// Configuration de l'RS-485
OpenUART1(UART_EN, UART_RX_ENABLE | UART_TX_ENABLE, pbClk/16/DESIRED_BAUDRATE-1);
OpenTimer1(T1_ON | T1_SOURCE_INT | T1_PS_1_256, 0x64);
// set up the timer interrupt with a priority of 2
ConfigIntTimer1(T1_INT_ON | T1_INT_PRIOR_2);
// enable multi-vector interrupts
INTEnableSystemMultiVectoredIn t();
.
.
.
Eclairage=30;
{
if (cpt<Eclairage)
{
if (module_1==0x31)
PORTB=PORTB | 0b0000000000100;
else
PORTB=PORTB & 0b1111111111011;
if (module_2==0x31)
PORTB=PORTB | 0b000000100000000;
else
PORTB=PORTB & 0b111111011111111;
.
.
}
-----