如何检测无线模块的好坏(问题是解决了,不过又有个疑...

2019-07-15 19:10发布

本帖最后由 olive2003 于 2014-7-15 23:10 编辑

RT,前两天买了两个无线通信模块,芯片是SI24R01。
看了下资料,和nRF24l01是完全兼容的,程序除了输出功率控制寄存器0x06设置有点不同其他都一样。
但是把它装上学习板后试着进行与单片机之间的通信,连读取寄存器数据都读不到(读到的是0xff)。换上另一块也一样。
求解可能是哪方面的问题,程序?模块损坏?要怎么检查呢?
PS:用万用表测晶振引脚发现几乎为0.是这个的问题么?还是要发送接受数据才启动晶振?

读寄存器我是   state=read_SPI(0x07);
uchar rw_SPI(uchar date)
{
        uchar i;
        SCK=0;
        for(i=8;i>0;i--)
        {
                MOSI=date&0x80;
                date=date<<1;
                _nop_();
                SCK=1;
                _nop_();
                date=MISO|date;
                SCK=0;
        }
        return date;
}

uchar read_SPI(uchar addr)
{
        uchar temp;
        CSN=0;
        rw_SPI(addr);
        temp=rw_SPI(0xff);
        CSN=1;
        return temp;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。