Hi all:

    I have a question about how to manul reset CC2500 after its inital power up.

    According to the CC2500 datasheet, page 41 of 92, section 19.1.2 Manual Reset: the procedure should be as following:

    1: Set SCLK = 1 and SI = 0, to avoid potential problems with pin contorl mode.

    2: Strobe CSn low / high (does this mean we toggle CSn pin from low to high or what?)

    3: Hold CSn high for at least 40 uS relative to pulling CSn low.

    4: Pull SXn low and wait for SO to go low.

    5: Issue the SRES strobe on the SI line.

    6: When SO goes low again, reset is complete.

    But from the code example MSP430 CC1100/2500(slaa 325) from T.I., in file TI_CC_spi.c:

void TI_CC_PowerupResetCCxxxx(void)
{
  TI_CC_CSn_PxOUT |= TI_CC_CSn_PIN;
  TI_CC_Wait(30);
  TI_CC_CSn_PxOUT &= ~TI_CC_CSn_PIN;
  TI_CC_Wait(30);
  TI_CC_CSn_PxOUT |= TI_CC_CSn_PIN;
  TI_CC_Wait(45);

  TI_CC_CSn_PxOUT &= ~TI_CC_CSn_PIN;        // /CS enable
  while (TI_CC_SPI_USART0_PxIN&TI_CC_SPI_USART0_SOMI);// Wait for CCxxxx ready
  U0TXBUF = TI_CCxxx0_SRES;                 // Send strobe
  // Strobe addr is now being TX'ed
  IFG1 &= ~URXIFG0;                         // Clear flag
  while (!(IFG1&URXIFG0));                  // Wait for end of addr TX
  while (TI_CC_SPI_USART0_PxIN&TI_CC_SPI_USART0_SOMI);
  TI_CC_CSn_PxOUT |= TI_CC_CSn_PIN;         // /CS disable
}

 

    I can not see how the code example manages to reset CC1100/2500 according to the datasheet.

    Can anyone help me out here?

 

Thank you