|
兩塊一樣的板子,程序一樣的,A板發(fā)送的時(shí)候B接收正常,然后按下B板發(fā)送的時(shí)候A板接收不靈,但是兩個(gè)板子都重啟后按下B板發(fā)送A板接收正常,只要一個(gè)一直做發(fā)送一個(gè)接收就一直正常,不管哪個(gè)板子做發(fā)送哪個(gè)做接收都可以正常工作。就是發(fā)送和接收工作一次后就不能切換。一般會(huì)是哪里出問題?我在全局定義變量一個(gè)temperature,按鍵按下后變量值減一后發(fā)送這個(gè)變量,然后接收那邊顯示這個(gè)變量值。 while(1)
{
/******************************按鍵按下就發(fā)送***********************************/
if(!left_key) //按鍵檢測
{
if(!left_key) // 延時(shí)按鍵再檢測防止干擾
{
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); }
}
|
|