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

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

?? testapp.c

?? 射頻芯片nRF24L01 + C8051F320 的驅動程序以及一個簡單的收發控制協議
?? C
字號:
/** @file TestApp.c
 *
 * @author Runar Kjellhaug
 *
 * @compiler This program has been tested with Keil C51 V7.50.
 *
 * @copyright
 * Copyright (c) 2005 Nordic Semiconductor. All Rights Reserved.
 *
 * The information contained herein is confidential property of Nordic Semiconductor. The use,
 * copying, transfer or disclosure of such information is prohibited except by express written
 * agreement with Nordic Semiconductor.
 * @endcopyright
 *
 * $Date: 2.03.06 15:25 $
 * $Revision: 9 $
 *
 */
#include <cygnal\c8051F320.h>
#include "include\TestApp.h"
#include "include\defines.h"
#include "include\nRF_API.h"
#include "include\LL_API.h"

extern BYTE Timer_Mode;
extern BYTE Test_Mode;
extern BYTE IRQ_Source;

#define TX_AW     5
code const BYTE TX_ADDRESS_[TX_AW] = {0x40,0x50,0x60,0x70,0x80};                 // Predefined TX_Address

#ifdef _TESTMODE_
#define RX_AW     5
#define TX_PL_W   32
code const BYTE RX_ADDRESS_[RX_AW]   = {0x40,0x50,0x60,0x70,0x80};                // Predefined RX_Address
code const BYTE TX_PAYLOAD_[TX_PL_W] = {0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,  // Predefined
                                        0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,  // TX payload
                                        0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,
                                        0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};
#endif

void Enter_Testmode(BYTE testmode)
{
  ET2 = 0;                                                                        // T2 Interrupt enabled
  EX0 = 0;                                                                        // Disable External Interrupt0
  CE = 0;                                                                     
  Led1 = Led2 = Led3 = Led4 = 1;                                                  // Clear status Led's

  if(testmode)                                                                    // Entered Test Mode
  {
    Timer_Mode = 0;
    Test_Mode = 1;
    Start_T2();
  }
  else                                                                            // Exit Test Mode
  {
    SPI_RW_Reg(WRITE_REG + CONFIG, 0x08);                                         // Config reg, default reset value
    SPI_RW_Reg(WRITE_REG + EN_AA, 0x3f);                                          // Default, Auto ack all pipe's
    SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x03);                                      // Default, pipe 0 & 1 enabled
    SPI_RW_Reg(WRITE_REG + SETUP_AW, 0x03);                                       // Default, 5 bytes address
    SPI_RW_Reg(WRITE_REG + STATUS, MASK_IRQ_FLAGS);                               // Clear all IRQ flag
    SPI_RW_Reg(FLUSH_TX,0);                                                       // Just in case, flush TX FIFO
    SPI_RW_Reg(FLUSH_RX,0);                                                       // and RX FIFO
    SPI_Write_Buf(WRITE_REG + TX_ADDR,TX_ADDRESS_,TX_AW);                        // Writes TX_Addr
    Test_Mode = 0;                                                                // Exit testmode
    IRQ_Source = 0;                                                               // Reset pending interrupt
    Stop_T2();
  }
}



#ifdef _TESTMODE_
//************************************************
//
// Default Test_TX function
// for "production test"
// 
//
//************************************************
void Test_TX(void)
{
  Led1 = Led2 = Led3 = Led4 = 1;                                                  // Clear status Led's

  SPI_RW_Reg(WRITE_REG + SETUP_AW, (TX_AW-2));                                    // Setup RX/TX address width
  SPI_Write_Buf(WRITE_REG + TX_ADDR,TX_ADDRESS_,TX_AW);                           // Writes TX_Addr
  SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS_,RX_AW);                       // Writes RX_Addr, Pipe0 for auto.ack

  SPI_Write_Buf(WR_TX_PLOAD,TX_PAYLOAD_,TX_PL_W);                                 // Writes TX payload

  SPI_RW_Reg(WRITE_REG + STATUS, 0x70);                                           // Read status & clear IRQ flag's
  SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);                                            // Enable auto ack pipe0
  SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);                                        // Enable pipe0
  SPI_RW_Reg(WRITE_REG + SETUP_RETR,0x0a);                                        // 250祍+86祍, 10 retrans...
  SPI_RW_Reg(WRITE_REG + RF_CH, 40);                                              // Channel 40

  SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e);                                           // PWR_UP, CRC(2bytes) & Prim:TX.

  while(!SW1);                                                                    // wait until SW1 released
  Led1 = 0;                                                                       // Led1 indicates TX mode
  EX0 = 1;                                                                        // Enable External Interrupt0
}

//************************************************
//
// Default Test_RX function
// for "production test"
// 
//
//************************************************
void Test_RX(void)
{
  Led1 = Led2 = Led3 = Led4 = 1;                                                  // Clear status Led's
  
  SPI_RW_Reg(WRITE_REG + SETUP_AW, (TX_AW-2));                                    // Setup RX/TX address width
  SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS_,RX_AW);                       // Writes RX_Addr

  SPI_RW_Reg(WRITE_REG + RX_PW_P0, TX_PL_W);                                      // Pipe0 payload width
  SPI_RW_Reg(WRITE_REG + STATUS, 0x70);                                           // read status & clear IRQ flag's
  SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);                                            // Enable auto ack pipe0
  SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);                                        // Enable pipe0
  SPI_RW_Reg(WRITE_REG + SETUP_RETR,0x0a);                                        // 250祍+86祍, 10 retrans...
  SPI_RW_Reg(WRITE_REG + RF_CH, 40);                                              // Channel 40

  SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f);                                           // PWR_UP, CRC(2bytes) & Prim:RX.

  while(!SW2);                                                                    // Wait until SW2 released
  Led2 = 0;                                                                       // Led2 indicates RX mode
  EX0 = 1;                                                                        // Enable External Interrupt0
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久亚洲午夜电影| 中文字幕乱码亚洲精品一区| av激情成人网| 国产99久久久国产精品潘金| 国产精品一二三区在线| 国产伦精品一区二区三区视频青涩| 久久国产尿小便嘘嘘尿| 久久黄色级2电影| 国产精品一区二区在线看| 国产成人av电影在线| av福利精品导航| 欧美在线视频全部完| 欧美日韩aaaaa| 精品国产伦一区二区三区免费| 久久婷婷色综合| 中文字幕中文字幕一区| 亚洲精品ww久久久久久p站| 午夜欧美在线一二页| 久久99精品一区二区三区三区| 国产麻豆精品在线| 北条麻妃一区二区三区| 欧美在线999| 欧美α欧美αv大片| 1024成人网色www| 日韩在线一区二区| 国产真实乱偷精品视频免| av在线不卡免费看| 91精品久久久久久久91蜜桃| 国产亚洲精品bt天堂精选| 亚洲激情自拍偷拍| 激情五月激情综合网| 9l国产精品久久久久麻豆| 欧美日韩欧美一区二区| 国产亚洲午夜高清国产拍精品| 综合激情成人伊人| 日韩精品免费视频人成| youjizz久久| 91麻豆精品国产自产在线观看一区| 久久一区二区三区国产精品| 一区二区三区鲁丝不卡| 国产精品一区一区| 91精品久久久久久久91蜜桃 | 午夜精品在线看| 国产精品中文有码| 欧美日韩免费不卡视频一区二区三区 | 欧美一区在线视频| 亚洲欧洲日韩一区二区三区| 日本sm残虐另类| 91老师片黄在线观看| 久久精子c满五个校花| 蜜臀久久久99精品久久久久久| 成人av一区二区三区| 精品福利一二区| 日韩精品一二三四| 欧美综合久久久| 亚洲视频在线一区| youjizz久久| 国产三级一区二区| 久久91精品久久久久久秒播| 欧美日韩午夜在线视频| 亚洲精品成人悠悠色影视| 波多野结衣亚洲一区| 国产午夜亚洲精品理论片色戒 | 亚洲狼人国产精品| 国产一区二区三区四| 日韩女优视频免费观看| 日韩高清不卡一区二区三区| 欧美日韩激情一区二区三区| 夜夜嗨av一区二区三区中文字幕 | 欧美日韩一级视频| 亚洲精品乱码久久久久久日本蜜臀| 国产精品亚洲午夜一区二区三区| 精品少妇一区二区三区| 免费成人在线观看| 日韩欧美激情一区| 精品一二三四区| 久久一区二区三区国产精品| 国产.欧美.日韩| 亚洲欧美在线视频观看| 91天堂素人约啪| 亚洲人成精品久久久久久| 色综合天天视频在线观看| 一区二区久久久| 欧美精品一二三区| 精品一区二区三区在线观看国产| 久久综合色天天久久综合图片| 国产毛片一区二区| 国产精品灌醉下药二区| 日本道免费精品一区二区三区| 亚洲一区在线看| 337p亚洲精品色噜噜| 久久99国产精品免费网站| 国产精品女主播在线观看| av电影在线观看不卡| 天天做天天摸天天爽国产一区| 日韩精品自拍偷拍| 懂色av一区二区三区免费观看 | 精品国产免费一区二区三区四区 | 久久不见久久见中文字幕免费| 欧美大胆一级视频| 国产成人免费av在线| 亚洲美女电影在线| 欧美一区二区三区四区视频| 国产乱码精品1区2区3区| 18涩涩午夜精品.www| 3751色影院一区二区三区| 成人性色生活片| 亚洲专区一二三| 久久久美女毛片| 欧美性感一区二区三区| 韩日欧美一区二区三区| 一区二区三区在线不卡| 久久亚洲免费视频| 欧美在线一二三| 成人午夜在线免费| 三级在线观看一区二区| 国产精品毛片高清在线完整版| 欧美色偷偷大香| 成人看片黄a免费看在线| 日产国产高清一区二区三区| 亚洲欧美一区二区在线观看| 精品久久人人做人人爱| 欧美最新大片在线看| 国产a级毛片一区| 免费在线视频一区| 亚洲美女免费视频| 国产精品美女久久久久高潮| xf在线a精品一区二区视频网站| 欧美三级日本三级少妇99| av一二三不卡影片| 国产成人精品午夜视频免费| 免费观看91视频大全| 亚洲va国产天堂va久久en| 亚洲精品国产精华液| 亚洲日本乱码在线观看| 国产亚洲精品精华液| 2023国产精华国产精品| 日韩午夜在线观看视频| 欧美三级中文字幕在线观看| 色婷婷久久久综合中文字幕| 不卡的av在线| 成人激情电影免费在线观看| 国产真实乱子伦精品视频| 久久精品国产秦先生| 蜜臀av在线播放一区二区三区| 视频精品一区二区| 日韩综合小视频| 人人爽香蕉精品| 免费成人小视频| 久国产精品韩国三级视频| 美腿丝袜亚洲一区| 日韩av电影免费观看高清完整版| 亚洲成av人片一区二区三区| 无码av免费一区二区三区试看 | 欧美精品自拍偷拍| 精品污污网站免费看| 欧美日韩一区小说| 欧美日高清视频| 欧美日本精品一区二区三区| 欧美午夜一区二区| 欧美一区二区大片| 久久综合999| 国产精品欧美一级免费| 国产精品国产三级国产有无不卡 | 亚洲精品精品亚洲| 一区二区三区四区在线播放| 亚洲一区中文在线| 免费高清不卡av| 国产乱理伦片在线观看夜一区| 国产99久久久精品| 色综合久久天天综合网| 欧美日韩极品在线观看一区| 日韩三级电影网址| 国产欧美日产一区| 亚洲一区二区高清| 久久精品噜噜噜成人88aⅴ| 国产.欧美.日韩| 欧美午夜精品理论片a级按摩| 91精品国产免费久久综合| 久久久久久日产精品| 亚洲精品ww久久久久久p站| 另类小说一区二区三区| 成人精品视频一区二区三区尤物| 在线观看国产一区二区| 精品999久久久| 亚洲欧美日韩国产一区二区三区| 人妖欧美一区二区| 99国产精品久久久久| 欧美一区二区久久| 综合久久久久久| 久久99久久99| 欧美视频第二页| 国产精品麻豆欧美日韩ww| 亚洲成在人线在线播放| 成人午夜视频在线观看| 日韩精品最新网址| 亚洲一卡二卡三卡四卡五卡| 国产精品综合网| 91精品欧美久久久久久动漫| 国产精品不卡在线|