This code --
/**
* Timer A0 interrupt service routine
*/
#pragma vector=TIMERA0_VECTOR
__interrupt void ta0_isr(void) // Interrupt after timer reaches TACCR0
{
LED_Control(0);
_BIC_SR_IRQ(LPM3_bits);
}
produces this warning --
"../main.c", line 235: remark #1538-D: (ULP 10.1) ISR ta0_isr calls function LED_Control. Recommend moving function call away from ISR, or inlining the function, or using pragmas
But the function in question is declared and defined as inline --
/*****************************************************************************/
/* Local function prototypes ('static') */
/*****************************************************************************/
static inline void LED_Control (int light);
/*****************************************************************************/
/* Function implementation - global ('extern') and local ('static') */
/*****************************************************************************/
/**
* LED_Control
* param: int light - 0 turn off, 1 turn on
*/
static inline void LED_Control (int light)
{
if (light) {
P1OUT |= LED;
} else {
P1OUT &= ~LED;
}
}
Shouldn't using an inline function here eliminate the warning?