亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rf_test.c

?? chipcon的cc2430芯片基本操作的全部源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:


   while( !stopApplication() ){
      YLED = LED_ON;
      res = radioSend(&sendBuffer, 1, remoteAddr, DO_ACK);
      sendBall(ORIENTED_RIGHT);
      YLED = LED_OFF;
      if(res == TRUE)
      {
         res = radioReceive(&buffer, &length, PING_PONG_TIMEOUT,&sender);
      }
      else
      {
         res = FALSE;
      }


      if(res == TRUE)
      {
         receiveBall(ORIENTED_RIGHT);
         GLED = LED_ON;
         // lcdUpdateLine(LINE1, "OK!");
         lcdUpdate((char *)"OK!", (char *)"");
         printRSSI(buffer[length]);
      }
      else
      {
         GLED = LED_OFF;
         // lcdUpdateLine(LINE1, "Failed...");
         lcdUpdate((char *)"Failed...", (char *)"");
         waitVisible(CLEARLY_VISIBLE);
      }
      waitVisible(CLEARLY_VISIBLE);
      GLED = LED_OFF;
   }

}


/******************************************************************************
* @fn  perTestMode
*
* @brief
*      Function for performing a packet error rate (PER) test.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void perTestMode(void)
{
   BYTE sendBuffer = PER_TEST_REQUEST;
   char number[16];

   BYTE* receiveBuffer;
   BYTE length;
   BYTE res;
   BYTE sender;
   WORD lastPacketNumber = 0;
   WORD thisPacketNumber;
   WORD failed = 0;


   YLED = LED_ON;
   res = radioSend(&sendBuffer, 1, remoteAddr, DO_ACK);
   YLED = LED_OFF;

   if(res == TRUE)
   {
      while(lastPacketNumber < PER_TOTAL_PACKET_NUMBER)
      {
         res = radioReceive(&receiveBuffer, &length, PER_RECEIVE_TIMEOUT, &sender);
         if(res == TRUE)
         {
            thisPacketNumber = *((WORD*) receiveBuffer);
            failed += (thisPacketNumber - lastPacketNumber - 1);
            lastPacketNumber = thisPacketNumber;
            GLED = LED_ON;
         }
         else
         {
            GLED = LED_OFF;
            failed += (PER_TOTAL_PACKET_NUMBER - lastPacketNumber);
            lastPacketNumber = PER_TOTAL_PACKET_NUMBER;
         }
      }
      if((failed == 0) &&(lastPacketNumber != 0))
      {
         lcdUpdateLine(LINE2,(char *)"Correct!");
      }
      failed = failed / 10;
      sprintf(number, (char *)"PER: %d", failed);
      lcdUpdateLine(LINE1,number);
      lcdUpdateChar(LINE1, 8, '%');
   }
   else
   {
      lcdUpdate((char *)"Node Unreachable",(char *)"");
   }

   haltApplicationWithLED();

   return;
}


/******************************************************************************
* @fn  receiveMode
*
* @brief
*      Function for receiving data.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void receiveMode(void)
{
   BYTE* receiveBuffer;
   BYTE length;
   BYTE res;
   BYTE sender;

   pingPongInit();

   while( !stopApplication() )
   {
      res = radioReceive(&receiveBuffer, &length, RECEIVE_TIMEOUT, &sender);

      if(res == TRUE)
      {
         GLED = LED_ON;
         if(*receiveBuffer == PING_PONG_REQUEST)
         {
            pingPongResponse();
         }
         else if(*receiveBuffer == PER_TEST_REQUEST)
         {
            conductPerTest();
         }
         else
         {
            printRSSI(receiveBuffer[length]);
            showState();
         }
      }
      else
      {
         lcdUpdate((char *)"Waiting",(char *)"");
         GLED = LED_OFF;
      }

      GLED = LED_OFF;
   }
   return;
}


/******************************************************************************
* @fn  showState
*
* @brief
*      Print "Sending" or "Receiving" on LINE1.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void showState(void)
{
   if (RxTxState == SEND){
      lcdUpdateLine(LINE1, (char *)"Sending");
   }
   else{
      lcdUpdateLine(LINE1, (char *)"Receiving");
   }
   halWait(0xFF);
}


/******************************************************************************
* @fn  pingPongResponse
*
* @brief
*      Handles response to pingpong.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void pingPongResponse(void)
{
  BYTE transmitBuffer;

  receiveBall(ORIENTED_LEFT);
  halWait(1);
  YLED = LED_ON;
  transmitBuffer = PING_PONG_RESPONSE;
  radioSend(&transmitBuffer, 1, remoteAddr, DO_NOT_ACK);
  sendBall(ORIENTED_LEFT);
  YLED = LED_OFF;
}


/******************************************************************************
* @fn  conductPerTest
*
* @brief
*      Sends 1000 packets to calculate PER.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void conductPerTest(void)
{
    WORD i;
    WORD sendBuffer[2];

    lcdUpdate((char *)"Conducting", (char *)"PER test.");

    sendBuffer[1] = PER_TOTAL_PACKET_NUMBER;

    for(i=1; i < PER_TOTAL_PACKET_NUMBER+1 ; i++)
    {
        halWait(8);
        sendBuffer[0] = i;
        radioSend((BYTE*) sendBuffer, sizeof(sendBuffer), remoteAddr, DO_NOT_ACK);
    }
}


/******************************************************************************
* @fn  printRSSI
*
* @brief
*      Printing RSSI on the LCD-display.
*
* Parameters:
*
* @param  INT8 rssi
*         New RSSI value.
*
*
* @return void
*
******************************************************************************/
void printRSSI(INT8 rssi)
{
   char rssiString[16];
   sprintf(rssiString,  (char const *)"%d dBm", (rssi-45));

   lcdUpdateLine(LINE2, rssiString);
}


/******************************************************************************
* @fn  getFrequency
*
* @brief
*      Get current frequency.
*
* Parameters:
*
* @param  void
*
* @return UINT32
*         Current frequency.
*
******************************************************************************/
UINT32 getFrequency(void)
{
   UINT8 selection;
   char *menuText[] = {(char*)" 2405", (char*)" 2410", (char*)" 2415", (char*)" 2420", (char*)" 2425", (char*)" 2430", (char*)" 2435", (char*)" 2440", (char*)" 2445", (char*)" 2450", (char*)" 2455", (char*)" 2460", (char*)" 2465", (char*)" 2470", (char*)" 2475", (char*)" 2480", (char*)" 2485"};
   selection = lcdMenu(menuText, 17);
   if(selection != ABORT_MENU)
   {
      return (2405000 + 5000*selection);
   }
   else
   {
      return (2405000);
   }

}


/******************************************************************************
* @fn  getAddress
*
* @brief
*      Get current address.
*
* Parameters:
*
* @param  UINT8 a
*
* @return UINT8
*
******************************************************************************/
UINT8 getAddress(UINT8 a)
{
   UINT8 address = a;
   char line[16];
   JOYSTICK_DIRECTION jsv;

   while(getJoystickDirection() != CENTRED);

   while((jsv = getJoystickDirection()) != RIGHT)
   {
      while(getJoystickDirection() != CENTRED);

      if(jsv == UP)
      {
         address++;
      }
      else if (jsv == DOWN)
      {
         address--;
      }

      sprintf(line,(char *)"Address: %d     ",address);
      lcdUpdateLine(LINE2, line);
   }
   return address;
}


/******************************************************************************
* @fn  clockmodes_init
*
* @brief
*     Setup for incorperating the functions in this
*     module with the menu
*
* Parameters:
*
* @param  APPLICATION *a
*         Main application
*
* @return void
*
******************************************************************************/
#ifdef COMPLETE_APPLICATION
void rf_test_init(APPLICATION *a)
{
   a->menuText = (char *)"RF Test";
   a->description = (char *)"Radio comm.";
   a->main_func = rf_test_main;
}
#endif


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产剧场电影| 一本久久a久久免费精品不卡| 亚洲欧美一区二区三区国产精品 | 色狠狠色噜噜噜综合网| 免费久久99精品国产| 亚洲柠檬福利资源导航| 久久久不卡网国产精品二区| 欧美日韩综合在线免费观看| 成人毛片在线观看| 久久精品国产99国产精品| 亚洲五月六月丁香激情| 欧美激情一区在线观看| 日韩欧美在线网站| 欧美在线观看你懂的| 成人免费观看视频| 国产综合色视频| 青青草国产精品亚洲专区无| 亚洲一二三区在线观看| 中文字幕亚洲一区二区av在线 | 亚洲综合一二三区| 国产精品免费丝袜| 精品国产精品一区二区夜夜嗨| 欧美精品久久天天躁| 色狠狠色噜噜噜综合网| 99久久精品费精品国产一区二区| 国产乱码精品一区二区三区五月婷| 婷婷一区二区三区| 亚洲国产欧美在线人成| 一区二区三区毛片| 亚洲特级片在线| 国产精品美女久久久久久久久 | 欧美欧美午夜aⅴ在线观看| 在线中文字幕不卡| 97久久精品人人澡人人爽| 成人国产免费视频| 懂色av一区二区夜夜嗨| 东方aⅴ免费观看久久av| 国产精品自产自拍| 国产成人高清视频| 国产成人综合网站| 豆国产96在线|亚洲| 成人av中文字幕| 波多野结衣精品在线| 成人免费三级在线| 91免费看`日韩一区二区| 91在线视频观看| 在线免费观看视频一区| 在线观看成人小视频| 欧美视频三区在线播放| 欧美日韩1区2区| 制服视频三区第一页精品| 5月丁香婷婷综合| 欧美一级在线观看| 精品少妇一区二区三区| 久久综合九色欧美综合狠狠| 国产亚洲精品资源在线26u| 中文字幕国产一区| 亚洲免费在线播放| 午夜免费久久看| 久久er99热精品一区二区| 国产永久精品大片wwwapp | www.综合网.com| 91黄色激情网站| 在线播放视频一区| 国产日韩v精品一区二区| 日韩美女视频一区| 亚洲国产毛片aaaaa无费看| 青青草97国产精品免费观看 | 91香蕉视频mp4| 欧美日韩1234| 久久久午夜精品| 亚洲欧美电影院| 麻豆一区二区三| 成人手机电影网| 欧美日韩一二三| 久久久久综合网| 亚洲一级二级三级| 国内精品久久久久影院一蜜桃| 波多野结衣欧美| 这里只有精品视频在线观看| 欧美国产日韩亚洲一区| 亚洲一区二区黄色| 国产真实乱子伦精品视频| 99久久99久久精品国产片果冻| 欧美高清性hdvideosex| 国产欧美一区二区精品性色超碰 | 国产亚洲成av人在线观看导航| 中文字幕在线不卡视频| 男人的天堂亚洲一区| 欧美va亚洲va| 亚洲视频一区二区在线观看| 久久国产成人午夜av影院| 91免费版在线看| 欧美成人女星排行榜| 亚洲精品一二三区| 亚洲丰满少妇videoshd| 加勒比av一区二区| 欧美中文字幕一区| 中文乱码免费一区二区| 日本亚洲天堂网| 日本高清不卡一区| 国产精品麻豆久久久| 麻豆精品在线播放| 欧美日韩一区中文字幕| 中国色在线观看另类| 精品在线免费视频| 欧美视频中文一区二区三区在线观看 | 久久av中文字幕片| 欧美三级电影一区| 中文字幕中文在线不卡住| 国产麻豆精品95视频| 欧美一区二区三区在线视频| 一区二区三区成人| 成人ar影院免费观看视频| 久久久一区二区三区| 麻豆精品一区二区三区| 在线播放日韩导航| 亚洲国产日韩一区二区| 日本伦理一区二区| 中文字幕一区二区三| 国产福利一区在线观看| 久久综合九色综合欧美98| 另类小说视频一区二区| 这里只有精品视频在线观看| 亚洲va欧美va人人爽午夜| 欧美性生交片4| 一区二区三区在线看| 99久久久国产精品| 国产精品毛片久久久久久久| 国产91精品露脸国语对白| 国产亚洲精品中文字幕| 国产黄色成人av| 国产午夜久久久久| 成人一区二区三区| 亚洲国产成人在线| 国产福利一区二区三区| 国产欧美日韩另类一区| 国产91综合网| 亚洲国产成人一区二区三区| youjizz国产精品| 亚洲免费观看高清完整版在线| 一本一道波多野结衣一区二区| 亚洲精品你懂的| 欧美三级资源在线| 日韩和的一区二区| 日韩美女一区二区三区| 国产做a爰片久久毛片| 国产亚洲欧美日韩日本| av网站一区二区三区| 中文字幕一区二区视频| 在线免费亚洲电影| 午夜精品123| 日韩久久精品一区| 国产成人在线网站| 国产精品第四页| 一本久久精品一区二区| 日日夜夜免费精品| 精品国精品国产| 成人免费高清视频在线观看| 亚洲欧美另类综合偷拍| 精品视频在线免费观看| 麻豆精品视频在线观看| 国产欧美综合在线| 在线观看日韩电影| 麻豆91精品视频| 久久精品亚洲麻豆av一区二区| 91一区一区三区| 舔着乳尖日韩一区| 国产午夜精品一区二区| 色婷婷亚洲综合| 久久精品国产99国产| 国产精品丝袜久久久久久app| 91同城在线观看| 日本色综合中文字幕| 国产精品欧美极品| 91精品国产手机| 成人av电影在线播放| 日本中文字幕不卡| 中文字幕在线观看不卡| 91精品国产色综合久久不卡蜜臀| 成人激情综合网站| 天天亚洲美女在线视频| 欧美激情一区二区三区全黄| 欧美天天综合网| 国产黄色精品视频| 亚洲国产婷婷综合在线精品| 久久久九九九九| 欧美午夜精品理论片a级按摩| 精品一区二区三区免费毛片爱| 综合久久综合久久| 精品成人免费观看| 色婷婷久久久久swag精品| 久久99国产精品免费| 一区二区三区四区乱视频| 久久一夜天堂av一区二区三区| 欧美亚洲日本国产| 波多野结衣中文一区| 美女视频黄a大片欧美| 亚洲美女偷拍久久| 久久亚洲捆绑美女|