|
发表于 2009-9-14 11:08:30
|
显示全部楼层
发现你程序中的一个问题
//接收方通道硬件地址
unsigned char TxAddress[]={0xcc,0xcc,0xcc,0xcc};为什么定义四个字节????????
#define ADDR_W 0x10 //0x10=2 字节 //发送/接收地址宽度(单位:Bit) 这里说的是两字节?????????
void nRF2401_TxPacket(unsigned char TxBuf[])
{
int i;
unsigned char variable2;
CE=1;
Delay100();
for (i=0;i< (ADDR_W/8);i++)//写入接收地址(按字节对齐)
------------------ 这里只发送了两字节 ???????????????????????????
{
variable2=TxAddress;
ByteWrite(variable2);
}
for (i=0;i<(DATA1_W/8);i++)//写入需要发送的数据(按字节对齐)
{
variable2=TxBuf;
ByteWrite(variable2);
}
CE=0; //CE 置低使发送有效
Delay100(); //时钟信号高电平保持
Delay100();
}
所以我认为这里TxAddress[]应该只定义两字节就够用了 多余的浪费了
楼主以后改别人的代码最好仔细的分析一下!!!
(个人意见仅供参考) |
|