新手上路
- 积分
- 39
- 金钱
- 39
- 注册时间
- 2014-8-12
- 在线时间
- 0 小时
|
5金钱
求一个A7105无线模块通信的程序,我用A7105校正时一值在死循环,通不过,把代码贴出来帮忙看看
void A7105_Cal(void)
{
U8 temp = 0;
U8 temp1=0;
U8 temp2=0;
// standby状态下校准IF
StrobeCmd(CMD_STBY);
A7105_WriteReg(CALIBRATION_REG,0x01);
do
{
temp = A7105_ReadReg(CALIBRATION_REG);
temp &= 0x01;
}while(temp);
temp = A7105_ReadReg(IFCAL1_REG );
temp &= 0x10;
if(temp)
{
while(1);
// 校准出错
}
//standy status vco band ct
A7105_WriteReg(CALIBRATION_REG,0x02);
do
{
temp1=A7105_ReadReg(CALIBRATION_REG);
temp1&=0x02;
}while(temp1);
temp1= A7105_ReadReg(VCOCAL1_REG);
temp1&=0x08;
if(temp1)
{
while(1);
// 校准出错
}
//standy status vco current
//A7105_write_register(RF_REG_VCO_CURRENT_CAL,0x13);
// A7105_write_register(RF_REG_VCO_BAND_CAL1,0x09);
A7105_WriteReg(CALIBRATION_REG,0x04);
do
{
temp2=A7105_ReadReg(CALIBRATION_REG);
temp2&=0x04;
}while(temp2);
temp2= A7105_ReadReg(VCOCCAL_REG);
temp2&=0x10;
if(temp2)
{
while(1);
// 校准出错
}
StrobeCmd(CMD_STBY);
}
|
|