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.

CC2500: MARCSTATE value not correct

Part Number: CC2500
Other Parts Discussed in Thread: CC110L

Hi,

A customer used CC2500, he met some problem when switched from  Rx mode to Idle mode. His procedures are as follows:

step 1. Pwr on init: Idle after Tx / Rx, then run step 2 every 500ms

step 2. if (not Rx) {

strobe Rx: TI_CC_SPIStrobe(TI_CCxxx0_SRX)

burst read MARCSTATE reg., : The result is not 0x0d

} else {

strobe Idle

burst read MARCSTATE reg., : The result is not 0x01

}

He also tried to add delays after strobe command then read the MARCSTATE reg, but the result was still incorrect.

Another test: Pwr on init, SRX, TX sent a packet and the RX LED indicated the packet was received, so the board was in RX mode, but the MARCSTATE value was 0x00. So what's the correct way to read this register?