本帖最后由 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;
}
1.加电容去纹波
2.找其他程序看看有没有不同
一周热门 更多>