兩塊一樣的板子,程序一樣的,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); }
}
|