两块一样的板子,程序一样的,A板发送的时候B接收正常,然后按下B板发送的时候A板接收不灵,但是两个板子都重启后按下B板发送A板接收正常,只要一个一直做发送一个接收就一直正常,不管哪个板子做发送哪个做接收都可以正常工作。就是发送和接收工作一次后就不能切换。一般会是哪里出问题?我在全局定义变量一个temperature,按键按下后变量值减一后发送这个变量,然后接收那边显示这个变量值。 while(1)
{
/******************************按键按下就发送***********************************/
if(!left_key) //按键检测
{
if(!left_key) // 延时按键再检测防止干扰
{
temperature--;
for(i=0;i<CC2500_DATA_LEN;i++)
{
CC2500_TxRxBuf[1+i] = temperature;
}
CC2500_Write_TxADDR();
CC2500_TxPacket();
delay_ms(100);
CC2500_Write_RxADDR();
CC2500_SetRxMode();
test_mode = MODE_RX;
}
while(!left_key);
}
/****************************下面是接收*********************************************/
if(test_mode == MODE_RX)
{
if(CC2500_RxPacket())
{
CC2500_Write_RxADDR();
CC2500_SetRxMode();
temperature=CC2500_TxRxBuf[1+i];
}
}
/******************************************************************************/
T_dis();colour_press();
Ht1621WrAllData(0,Ht1621Tab1,10); }
}
|