|
用MEGA16做写的NRF2401测试程序,不知为什么硬件一点发射都没有,有哪位朋友帮忙看看???
void BuildInitWord(void)
{
InitData[0]=0x8E;//
InitData[1]=0x08;//
InitData[2]=0x1C;//
InitData[3]=0x10;//频道2 数据长度
InitData[4]=0x10;//频道1 数据长度,16bit,2byte.
InitData[5]=0x00;//频道2 地址
InitData[6]=0x1c;//频道2 地址
InitData[7]=0xcc;//频道2 地址
InitData[8]=0xcc;//频道2 地址
InitData[9]=0xcc;//频道2 地址
InitData[10]=0x00;//频道1 地址
InitData[11]=0xcc;//频道1 地址
InitData[12]=0xcc;//频道1 地址
InitData[13]=0xcc;//频道1 地址
InitData[14]=0xcc;//频道1 地址
InitData[15]=0x83;//4byte 地址,16CRC,CRC 允许
InitData[16]=0x4f;//一个频道接收,shock 模式,250K,16MCRY,0DBm
InitData[17]=0x04;//tx
}
void InitnRF2401(void)
{
PORTC|=CS;
Delay5us();//
for(ByteCnt=0;ByteCnt<18;ByteCnt++)
{
tempi=InitData[ByteCnt];
for(BitCnt=0;BitCnt<8;BitCnt++)
{
PORTC&=~CLK1;
if(tempi&0x80)
PORTC|=DATA;
else
PORTC&=~DATA;
Delay500ns();
PORTC|=CLK1;
Delay500ns();
PORTC&=~CLK1;
tempi=tempi<<1;
}
}
PORTC&=~CS;
PORTC&=~DATA;
}
void Delay500ns(void)
{
asm("nop");
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|