This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

timer and Wake on radio (WOR) not working together when logging the data to flash

Other Parts Discussed in Thread: MSP430F2274, CC2500

I am working on a msp430 project(using msp430f2274 and CC2500 radio) which is a simple application which receives a packet and logs it to flash. It also logs the packet it sends. Now, in order to reduce power consumption I am using wake on radio(WOR) functionality. However, following things happen:

  1. The packets are successfully logged for a period of time( depends on no. of packets received) and the code works, and then after some time usually 30-45 mins later (for my current timer settings), the timer will stop, the device keep receiving packets, however since no timer, no sending cycle, so no packets are sent.

  2. When I do not log the packets and simply send and receive using wor, the code works, timer does not hang.

How does flash is messing up timer when WOR works?

On debugging, most of the stack has not been used, and the code always stops at point when radio switches back from 'wake on radio' mode to awake mode.

Any insight will help me. Let me know if you need to see code snippets.

  • This smells like a racing condition and/or an interrupt overrun. While writing to flash, interrupts are disabled for quite a long time. You might miss an interrupt, and then encounter a deadlock condition, where you wait for an event that won't come because you missed an event you had to serve first.

**Attention** This is a public forum