首先:
NRF905可以与51
单片机进行
通信,(初始化寄存器后读出配置一致);
但是:在发送一次数据后905的DR引脚一直被至高;
//------------发送数据-------------//
void TxPacket()
{
unsigned char i,j;
CSN=0;
SpiWrite(WTP); //向TX寄存器中写入要发送的数据
for(j=0;j<3;j++) //这里由于设定的数据宽度为3个字节
{
// send(send_bruff[j]);
SpiWrite(send_bruff[j]); //循环3次发送3个字节
}
CSN=1; //结束传输
Delay(1);
CSN=0; //启用SPI
SpiWrite(WTA); // Write address command
for (i=0;i<4;i++) // Write 4 bytes address
{
// send(TxAddress[i]);
SpiWrite(TxAddress[i]);
}
CSN=1; //关闭SPI
Delay(1);
TRX_CE=1; //进入发送模式,启用射频发送
Delay_ms(200); //进入发送模式
TRX_CE=0; // fasongwang
// while(!DR); //
Delay_ms(1000);
led2=0; //发送时灯亮
Delay_ms(1000);
led2=1;
}
这是发送函数;
在接收端也是同样的效果,在发送端发一次后:
DR引脚也一直是高。。
这是为什么????手册里不是写了在接收数据后会自动置低??
OK。。。。。。。。。。
一周热门 更多>