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.

Interrupts and PM modes

Other Parts Discussed in Thread: CC2510

Hello Champs,

There seems to be a discrepancy in the cc2510 data sheet swrs055.pdf.

On page 88 it states that, "Note: All port interrupts are blocked when SLEEP.MODE != 00"

Also, Kjetil states in a prior post:  "I'm a little puzzled here. When SLEEP.MODE != 0x00, the port interrupts and sleep timer interrupts are gated, so how you see things differently is beyond me at this point. Wrote this little C code to illustrate this. After P1_3 is set, there will be no more P0 IRQ generated."

But page 87 states:  " The external interrupt capability is available on all 21 I/O pins. Thus, external devices may generate interrupts if required. The external interrupt feature can also be used to wake up from all four power modes (PM{0 - 3}). " 

I am trying to understand why we have these seemingly contradictory statements.  Can anyone clarify this for me?

Thanks in advance,

Chuck

 

  • Hi Chuck,

    Sorry that things are a little confusing. This is all related to how the CPU enters sleep (what happens after PCON.IDLE is set to 1). The last thing the CPU does before actually sleeping is clearing the SLEEP.MODE bits. This is why external interrupts are able to wake the device up. The blocking of port and sleep interrupts are from the period one write the MODE bits (or to be more precisely, a few clock cycles after this, hence the three NOPs in the datasheet), until a few clock cycles after the user write PCON.IDLE.

    Hope that helps.