FreeRTOS Sleep Mode hazards while using MSP430f5438

Posted by michael on Stack Overflow See other posts from Stack Overflow or by michael
Published on 2010-03-12T18:20:13Z Indexed on 2010/03/16 13:26 UTC
Read the original article Hit count: 567

Filed under:
|
|

Hi, I wrote an an idle hook shown here

void vApplicationIdleHook( void )
{
    asm("nop");
    P1OUT &= ~0x01;//go to sleep lights off!
    LPM3;// LPM Mode -  remove to make debug a little easier...
    asm("nop");
}

That should cause the LED to turn off, and MSP430 to go to sleep when there is nothing to do. I turn the LED on during some tasks.

I also made sure to modify the sleep mode bit in the SR upon exit of any interrupt that could possibly wake the MCU (with the exception of the scheduler tick isr in portext.s43. The macro in iar is

__bic_SR_register_on_exit(LPM3_bits);   // Exit Interrupt as active CPU

However, it seems as though putting the MCU to sleep causes some irregular behavior. The led stays on always, although when i scope it, it will turn off for a couple instructions cycles when ever i wake the mcu via one of the interrupts (UART), and then turn back on. If I comment out the LPM3 instruction, things go as planned. The led stays off for most of the time and only comes on when a task is running.

I am using a MSP4f305438

Any ideas?

© Stack Overflow or respective owner

Related posts about msp430

Related posts about rtos