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手动复位(manual reset)问题

Other Parts Discussed in Thread: CC2500, CC1101

在cc2500的文档中给出了手动复位的顺序,

1、Set SCLK=1 and SI=0, to avoid potential problems with pin control mode (see Section 11.3 on page 26).
2、Strobe CSn low / high.
3、Hold CSn high for at least 40 μs relative to pulling CSn low
4、Pull CSn low and wait for SO to go low(CHIP_RDYn).
5、 Issue the SRES strobe on the SI line.

6、 When SO goes low again, reset is
complete and the chip is in the IDLE state.

我想咨询一下SCLK = 1和SI=0在什么时候可以改变。SPI在空闲状态下是SCLK = 0,所以在发送SRES时候会出现一个下降沿,我在时候时候设置SCLK = 0比较合适。

void Reset_CC1101(void)
{
        CSN=0;  
         while(MISO_H);   
         SpiTxRxByte(CCxxx0_SRES);  
         while(MISO_H);   
         CSN=1;          
}
void PowerUp_Reset_CC1101(void)
{
        CSN=1;
        SCK=1;
        MOSI=0;
        delay_us(1);
        CSN=0;
        delay_us(1);
        CSN=1;
        delay_us(80);
        SCK=0;     // 将SCLK设置为零       
         Reset_CC1101();
}

这种可以吗? 谢谢了,

还是在tsp这个时间转换比较好?谢谢