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

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

?? rf_test.c

?? CC2430的液晶顯示程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************
Filename:     rf_test.c
Target:       cc2430
Revised:      16/12-2005
Revision:     1.0

Description:
    This file provides 4 small tests which demonstrates use of the radio.

******************************************************************************/


#include "app_ex.h"
#include "cul.h"
#include "pingPong.h"
#include "menu.h"
#include "string.h"


#define ADDRESS_0 0x01
#define ADDRESS_1 0x02

#define SEND     0
#define RECEIVE  1

#define SINGLE      0
#define CONTINUOUS  1
#define PING_PONG   2
#define PER_TEST    3
#define EXIT        4

#define RECEIVE_TIMEOUT               1200

#define PING_PONG_TIMEOUT             1200
#define PING_PONG_REQUEST             0x80
#define PING_PONG_RESPONSE            0x40

#define PER_RECEIVE_TIMEOUT          10000
#define PER_TOTAL_PACKET_NUMBER       1000
#define PER_TEST_REQUEST              0x20


void initRfTest(void);
void rf_test_main(void);
void receivePacket(UINT8 *receiveByte);
void sendPacket(UINT8 sendByte);
void printAddress(UINT8 address);
void printRSSI(INT8 rssi);
UINT32 getFrequency(void);
UINT8 getAddress(UINT8 a);
void waitVisible(BOOL visibility);

void receiveMode(void);
void singleMode(void);
void contionuousMode(void);
void pingPongMode(void);
void perTestMode(void);
void showState(void);
void conductPerTest(void);
void pingPongResponse(void);
void SendTestDisp( void );


//UINT8 address0; //my adresse
//UINT8 address1; //other adress
UINT8 RxTxState;
UINT8 myAddr;
UINT8 remoteAddr;
BOOL remoteAddressSet = FALSE;
BOOL myAddressSet = FALSE;


//*********************************************************************************
//函數名:void MenuMenuDisp( void )
//功能:主菜單顯示
//輸入:無
//輸出:無
//*********************************************************************************
void SendTestDisp( void )
{
	INT8U sel;
        /*
        if(LanguageSel == 1)
        {
                strcpy((char*)MenuItem[0] ,"1:Single        ");
	        strcpy((char*)MenuItem[1] ,"2:Continous    ");
	        strcpy((char*)MenuItem[2] ,"3:PER Test      ");
        }
        else
        {
                strcpy((char*)MenuItem[0] ,"1:單次發送      ");
	        strcpy((char*)MenuItem[1] ,"2:連續發送      ");
	        strcpy((char*)MenuItem[2] ,"3:誤碼率測試    ");
        }
        */
        strcpy((char*)MenuItem[0] ,"1:Single        ");
        strcpy((char*)MenuItem[1] ,"2:Continous     ");
        strcpy((char*)MenuItem[2] ,"3:PER Test      ");
	FirstItem = 0;
	NowItem = 0;
        while(1)
        {
	        sel = DrawMenu(MenuItem , 3);
                if(sel == 0)
		{
			halWait(10);
                        singleMode();
		}
		else if(sel == 1)
		{
			halWait(10);
                        contionuousMode();
		}
                else if(sel == 2)
		{
			halWait(10);
                        perTestMode();
		}
		else if(sel == 0xff)
		{
			YLED = LED_OFF;//GLED = LED_OFF
                        /*
                        if(LanguageSel == 1)
                        {
                                strcpy((char*)MenuItem[0] ,"1:Sender        ");
	                        strcpy((char*)MenuItem[1] ,"2:Receiver      ");
	                        strcpy((char*)MenuItem[2] ,"3:Set_Freq      ");
	                        strcpy((char*)MenuItem[3] ,"4:Set_MeAddr    ");
                                strcpy((char*)MenuItem[4] ,"5:Set_RemoteAdd ");
                        }
                        else
                        {
                                strcpy((char*)MenuItem[0] ,"1:發送模式      ");
	                        strcpy((char*)MenuItem[1] ,"2:接收模式      ");
	                        strcpy((char*)MenuItem[2] ,"3:設定頻道      ");
	                        strcpy((char*)MenuItem[3] ,"4:設定本機地址  ");
                                strcpy((char*)MenuItem[4] ,"5:設定目的地址  ");
                        }
                        */
                                strcpy((char*)MenuItem[0] ,"1:Sender        ");
	                        strcpy((char*)MenuItem[1] ,"2:Receiver      ");
	                        strcpy((char*)MenuItem[2] ,"3:Set_Freq      ");
	                        strcpy((char*)MenuItem[3] ,"4:Set_MeAddr    ");
                                strcpy((char*)MenuItem[4] ,"5:Set_RemoteAdd ");
                        FirstItem = 0;
	                NowItem = 0;
                        break;
		}
        }
}

//*********************************************************************************
//函數名:void MenuMenuDisp( void )
//功能:主菜單顯示
//輸入:無
//輸出:無
//*********************************************************************************
void RfTestDisp( void )
{
	INT8U sel;
        UINT32 frequency = 2405000;
        /*
        if(LanguageSel == 1)
        {
                strcpy((char*)MenuItem[0] ,"1:Sender        ");
	        strcpy((char*)MenuItem[1] ,"2:Receiver      ");
	        strcpy((char*)MenuItem[2] ,"3:Set_Freq      ");
	        strcpy((char*)MenuItem[3] ,"4:Set_MeAddr    ");
                strcpy((char*)MenuItem[4] ,"5:Set_RemoteAdd ");
        }
        else
        {
                strcpy((char*)MenuItem[0] ,"1:發送模式      ");
	        strcpy((char*)MenuItem[1] ,"2:接收模式      ");
	        strcpy((char*)MenuItem[2] ,"3:設定頻道      ");
	        strcpy((char*)MenuItem[3] ,"4:設定本機地址  ");
                strcpy((char*)MenuItem[4] ,"5:設定目的地址  ");
        }
        */
              strcpy((char*)MenuItem[0] ,"1:Sender        ");
              strcpy((char*)MenuItem[1] ,"2:Receiver      ");
              strcpy((char*)MenuItem[2] ,"3:Set_Freq      ");
              strcpy((char*)MenuItem[3] ,"4:Set_MeAddr    ");
              strcpy((char*)MenuItem[4] ,"5:Set_RemoteAdd ");

	FirstItem = 0;
	NowItem = 0;
        remoteAddressSet = FALSE;
        myAddressSet = FALSE;

        INIT_RLED();
        INIT_YLED();
        while(1)
        {
	        sel = DrawMenu(MenuItem , 5 );
                if(sel == 0)
		{
			if(myAddressSet == FALSE)
                        {
                                myAddr = ADDRESS_0;
                        }
                        if(remoteAddressSet == FALSE)
                        {
                                remoteAddr = ADDRESS_1;
                        }
                        radioInit(frequency, myAddr);
                        INT_GLOBAL_ENABLE(INT_ON);
                        SendTestDisp();
		}
		else if(sel == 1)
		{
			if(myAddressSet == FALSE)
                        {
                                myAddr = ADDRESS_1;
                        }
                        if(remoteAddressSet == FALSE)
                        {
                                remoteAddr = ADDRESS_0;
                        }
                        halWait(10);
                        radioInit(frequency, myAddr);
                        INT_GLOBAL_ENABLE(INT_ON);
                        halWait(10);
                        receiveMode();

		}
                else if(sel == 2)
		{
			frequency = getFrequency();
		}
                else if(sel == 3)
		{
			myAddr = getAddress(myAddr);
                        myAddressSet = TRUE;
		}
                else if(sel == 4)
		{
			remoteAddr = getAddress(remoteAddr);
                        remoteAddressSet = TRUE;;
		}
		else if(sel == 0xff)
		{
			TopDisp = 1;
                        break;
		}
        }
}

/******************************************************************************
* @fn  singleMode
*
* @brief
*      Function for transferring one packet
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void singleMode(void)
{
   BYTE sendBuffer[] = "Hello";
   BOOL res;

   ClearScreen();
   Print(0,5,"--singlemode--  ",1);
   /*
   if(LanguageSel == 1)
   {
      Print6(2,20,"OK for START    ",1);
   }
   else
   {
     Print(2,10,"按OK鍵開始:    ",1);
   }
   */
   Print6(2,20,"OK for START    ",1);

   Rectangle(2 , 4 , 108 , 7);
   while(TRUE)
   {
      if(ScanKey() == K_OK)
      {
         while(ScanKey() != 0xff);
         Print(2,10,"             ",1);
         YLED = LED_ON;
         res = radioSend(sendBuffer, sizeof(sendBuffer), remoteAddr, DO_ACK);
         YLED = LED_OFF;
         if(res == TRUE)
         {
            //GLED = LED_ON;
            Print(5,10,"     OK      ",1);
            waitVisible(CLEARLY_VISIBLE);
            //GLED = LED_OFF;
            return;
         }
         else
         {
            //GLED = LED_OFF;
            /*
            if(LanguageSel == 1)
            {
                Print(5,10,"Failed...",1);
            }
            else
            {
                Print(5,10,"失敗...   ",1);
            }
            */
            Print(5,10,"Failed...",1);
            waitVisible(CLEARLY_VISIBLE);
            //GLED = LED_OFF;
            return;
         }
      }
   }
}


/******************************************************************************
* @fn  contionuousMode
*
* @brief
*      Function for transferring packets until stopped by user.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void contionuousMode(void)
{
   INT8U i;
   BOOL res;
   INT8U count;
   BYTE sendBuffer[] = "Hello";
   ClearScreen();
   Print(0,5,"-contionumode-",1);
   Rectangle(10 , 3 , 118 , 6);
   while(!stopApplication()){
      //GLED = LED_OFF;
      YLED = LED_ON;
      res = radioSend(sendBuffer, sizeof(sendBuffer), remoteAddr, DO_ACK);
      YLED = LED_OFF;

      if(res == TRUE)
      {
         if(++count > 1)
         {
            //GLED = LED_ON;
            Print(4,56,"OK",1);
            if(count >=250)
            {
                count = 2;
            }
         }
         //printRSSI();
      }
      else
      {
         count = 0;
         //GLED = LED_OFF;
         /*
         if(LanguageSel == 1)
         {
             Print(4,10,"Failed...",1);
         }
         else
         {
             Print(4,10,"失敗...",1);
         }
         */
         Print(4,10,"Failed...",1);
      }
      for(i=0; i<10; i++)
      {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老汉av免费一区二区三区| 国产精品视频观看| 三级成人在线视频| 欧美一级高清大全免费观看| 麻豆成人免费电影| 精品日韩一区二区| 成人av在线电影| 亚洲欧美偷拍另类a∨色屁股| 91亚洲精华国产精华精华液| 洋洋成人永久网站入口| 在线播放中文字幕一区| 久久精品国产亚洲aⅴ| 国产欧美精品在线观看| 日本久久一区二区三区| 91福利在线导航| 免费在线视频一区| 国产午夜精品久久久久久免费视| 91农村精品一区二区在线| 日韩影视精彩在线| 国产肉丝袜一区二区| 色欧美88888久久久久久影院| 日韩在线a电影| 国产精品无遮挡| 欧美日韩亚洲另类| 国产精品中文字幕日韩精品 | 国产精品女主播av| 在线视频国产一区| 极品少妇xxxx精品少妇| 亚洲女女做受ⅹxx高潮| 亚洲精品一区二区三区香蕉| 91看片淫黄大片一级| 日韩av电影免费观看高清完整版 | 日韩欧美色综合| av在线综合网| 精品一区二区三区在线视频| 亚洲欧美日韩国产综合在线| 欧美成人video| 在线视频欧美区| 懂色一区二区三区免费观看| 日精品一区二区三区| 亚洲日韩欧美一区二区在线| 欧美岛国在线观看| 91久久精品一区二区二区| 国产精品自拍一区| 亚洲午夜在线视频| 国产精品久久久久一区二区三区| 欧美一区二区在线视频| 一本大道久久a久久精二百| 国产乱对白刺激视频不卡| 亚洲第一激情av| 国产精品网曝门| 午夜精品久久久久久久99樱桃| 久久精品夜色噜噜亚洲aⅴ| 欧美日韩免费视频| 不卡一卡二卡三乱码免费网站| 免费成人在线视频观看| 亚洲成av人片| 亚洲午夜电影在线| 亚洲同性同志一二三专区| 国产亚洲精品福利| 精品久久久久久久久久久院品网 | 日本伊人色综合网| 亚洲妇熟xx妇色黄| 亚洲激情在线激情| 亚洲精品美腿丝袜| 亚洲欧美一区二区视频| 中文字幕免费在线观看视频一区| 26uuu亚洲综合色欧美| 日韩亚洲电影在线| 久久精品一区二区三区不卡牛牛| 亚洲午夜电影网| 久久久精品免费网站| 日本韩国精品在线| 91网上在线视频| 一本色道**综合亚洲精品蜜桃冫| 成人毛片在线观看| 成人网在线播放| 91性感美女视频| 在线一区二区视频| 欧美日韩国产片| 在线播放国产精品二区一二区四区 | 亚洲一级二级三级在线免费观看| 亚洲天堂成人网| 日韩伦理av电影| 亚洲一区二区三区不卡国产欧美| 亚洲永久精品大片| 婷婷综合五月天| 日本91福利区| 欧美性xxxxxxxx| 91精品国产综合久久久蜜臀粉嫩| 日韩欧美中文一区二区| 精品毛片乱码1区2区3区| 久久久久久久综合日本| 国产精品美女久久久久久久| 亚洲欧洲综合另类| 日韩成人精品在线观看| 国产自产v一区二区三区c| 高清beeg欧美| 在线观看91视频| 日韩欧美在线123| 日本一区二区三级电影在线观看| 综合激情网...| 日韩电影在线一区二区| 国产精品一级二级三级| 色综合久久久久| 日韩视频国产视频| 国产精品午夜春色av| 亚洲成av人**亚洲成av**| 久久电影国产免费久久电影 | 久久精品国产澳门| 国产精品一区在线观看乱码| 色综合久久久久| 日韩免费看网站| 国产精品国产三级国产aⅴ原创 | 久久久久久久网| 一区二区三区国产精华| 亚洲激情第一区| 午夜电影久久久| 午夜影院久久久| 一区二区三区视频在线看| 蜜桃精品视频在线观看| jizz一区二区| 日韩精品专区在线| 亚洲私人影院在线观看| 精品综合久久久久久8888| 色老综合老女人久久久| 久久久一区二区三区| 亚洲一区二区五区| jlzzjlzz亚洲女人18| 欧美tk丨vk视频| 亚洲电影一级黄| 成人黄色在线视频| 欧美精品一区二区久久久| 亚洲午夜一区二区| 风间由美一区二区av101| 亚洲男女毛片无遮挡| 精品在线视频一区| 欧美日本国产视频| 亚洲免费av观看| 一区二区三区欧美| 4438x亚洲最大成人网| 欧美性一区二区| 国产精品人人做人人爽人人添| 久久精品国内一区二区三区| 欧美性生活久久| 亚洲久本草在线中文字幕| 国产成人精品一区二区三区四区| 欧美一级生活片| 婷婷国产在线综合| 欧美亚洲愉拍一区二区| 国产精品白丝在线| 国产盗摄精品一区二区三区在线| 91精品国产色综合久久久蜜香臀| 亚洲综合色网站| 色av成人天堂桃色av| 自拍视频在线观看一区二区| 99久久精品国产精品久久| 日本一区二区免费在线观看视频| 国产精品一区在线观看你懂的| 欧美精品一区二区三区蜜臀 | 亚洲乱码国产乱码精品精的特点 | 日韩女同互慰一区二区| 亚洲成年人影院| 欧美日韩综合在线免费观看| 亚洲自拍偷拍九九九| 欧美视频一二三区| 午夜伊人狠狠久久| 91精品久久久久久久99蜜桃| 日本不卡一二三| 日韩午夜在线影院| 久草这里只有精品视频| 久久久久免费观看| 成人激情文学综合网| 一区在线观看免费| 国产精品嫩草久久久久| 不卡区在线中文字幕| 国产精品护士白丝一区av| av成人免费在线| 亚洲精品高清视频在线观看| 91电影在线观看| 亚洲超碰精品一区二区| 欧美v亚洲v综合ⅴ国产v| 国产在线乱码一区二区三区| 国产欧美1区2区3区| 91老师片黄在线观看| 亚洲最新视频在线播放| 777色狠狠一区二区三区| 久草这里只有精品视频| 亚洲国产高清不卡| 色婷婷精品久久二区二区蜜臂av| 亚洲综合一区二区三区| 日韩三级中文字幕| 国产高清精品久久久久| 亚洲欧美一区二区久久| 欧美精品一卡两卡| 国产精品性做久久久久久| 亚洲天天做日日做天天谢日日欢| 欧美精品国产精品| 国产成人久久精品77777最新版本| 亚洲美女淫视频|