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

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

?? configure.c

?? CC1020的源代碼,詳細介紹CC1020的配置和開發,
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************/
/*                                                                          */
/* Reference design : CC1020 RF Modem                                       */
/*                                                                          */
/* File:    configure.c                                                     */
/*                                                                          */
/* Microcontroller:                                                         */
/*          Microchip PIC16F876                                             */
/*                                                                          */
/* Author:  Karl H. Torvmark, Field Applications Engineer, Chipcon          */
/*          Torgeir Sundet, FAE - Software, Chipcon                         */
/*                                                                          */
/* Contact: Chipcon AS +47 22 95 85 44                                      */
/*          support@chipcon.com                                            */
/****************************************************************************/

/****************************************************************************/
/* This file contains routines for CC1020 configuration. The configuration  */
/* menu is implemented here.                                                */
/****************************************************************************/

/*                                                                           *
 * Revision history:                                                         *
 *                                                                           *
 * $Log: configure.c,v $
 * Revision 1.4  2003/09/18 14:51:24  tos
 * Minor mod's:
 *  - Made AFC_CONTROL = 0x87 as default for 868/915 MHz band.
 *  - Made rf-packet extension as #define.
 *
 * Revision 1.3  2003/09/17 15:58:04  tos
 * Mod's:
 * - tuned AFC_CONTROL for optimum preamble performance.
 * - turn on TX before PA is increased.
 *
 * Revision 1.2  2003/09/17 15:03:05  tos
 * Mod's:
 *   - introduced new menu option ('J'): access (w/r) CC1020 register.
 *   - update EEPROM variable+table upon register write access ('J').
 *   - introduced new configuration option ('I'): preamble length.
 *   - moved TX buffer initialisation after configuration.
 *   - corrected inconsistent number conversion funtion.
 *
 * Revision 1.1  2003/07/31 13:17:18  tos
 * Initial version in CVS.
 *
 *
 *                                                                           *
 ****************************************************************************/
 

#include "configure.h"
#include "cc1020.h"
#include "simpleio.h"
#include "io16f876.h" // IAR-specific header file for the 16F876
#include "modemhw.h"
#include <stdio.h>    // ANSI standard header file
#include <stdlib.h>
#include <ctype.h>    // ANSI standard header file

// The configuration data for the CC1020 is stored in the EEPROM data memory
// This allows the configuration to persist even when power is shut off,
// and also prevents this data from cluttering up the SRAM data memory.

 __eeprom __no_init union {
     char EEPROMCC1020Config[32];
     struct {
      char EEPROM_INTERFACE;        // 0x01
      char EEPROM_RESET;            // 0x02
      char EEPROM_SEQUENCING;       // 0x03
      char EEPROM_FREQ_2A;          // 0x04
      char EEPROM_FREQ_1A;          // 0x05
      char EEPROM_FREQ_0A;          // 0x06
      char EEPROM_CLOCK_A;          // 0x07
      char EEPROM_FREQ_2B;          // 0x08
      char EEPROM_FREQ_1B;          // 0x09
      char EEPROM_FREQ_0B;          // 0x0A
      char EEPROM_CLOCK_B;          // 0x0B
      char EEPROM_VCO;              // 0x0C
      char EEPROM_MODEM;            // 0x0D
      char EEPROM_DEVIATION;        // 0x0E
      char EEPROM_AFC_CONTROL;      // 0x0F
      char EEPROM_FILTER;           // 0x10
      char EEPROM_VGA1;             // 0x11
      char EEPROM_VGA2;             // 0x12
      char EEPROM_VGA3;             // 0x13
      char EEPROM_VGA4;             // 0x14
      char EEPROM_LOCK;             // 0x15
      char EEPROM_FRONTEND;         // 0x16
      char EEPROM_ANALOG;           // 0x17
      char EEPROM_BUFF_SWING;       // 0x18
      char EEPROM_BUFF_CURRENT;     // 0x19
      char EEPROM_PLL_BW;           // 0x1A
      char EEPROM_CALIBRATE;        // 0x1B
      char EEPROM_PA_POWER;         // 0x1C
      char EEPROM_MATCH;            // 0x1D
      char EEPROM_PHASE_COMP;       // 0x1E
      char EEPROM_GAIN_COMP;        // 0x1F
      char EEPROM_POWERDOWN;        // 0x20
    };
};


// EEPROM variables for storing the characters sent when the buttons are pressed
__eeprom __no_init char EEPROMButton1Char;
__eeprom __no_init char EEPROMButton2Char;

// RAM variables that mirror the EEPROM variables above
__no_init char Button1Char, Button2Char;
 
// EEPROM unit address variable. Addressing is not yet implemented.
__eeprom __no_init char UnitAddress;

// EEPROM variables storing the value of the ANALOG registers in RX and TX
__eeprom __no_init char EEPROMTXANALOG;
__eeprom __no_init char EEPROMRXANALOG;
 
// RAM variables that mirror the EEPROM variables above
__no_init char TXANALOG;
__no_init char RXANALOG;

// EEPROM variables storing the PA value
__eeprom __no_init char EEPROMPA_POWER;

// RAM variables that mirror the EEPROM variables above
__no_init char PA_POWER;


// EEPROM variables storing the preamble length
__eeprom __no_init char EEPROMPreambleLength;

// RAM variables that mirror the EEPROM variables above
__no_init char PreambleLength;


// Default RF setups, stored in Flash
    
// SmartRF Studio v4.81

// Device: CC1020

// System parameters:
// X-tal frequency: 14.745600 MHz	Internal
// X-tal accuracy: +/-  8 ppm
// RF frequency A: 434.052500 MHz	Active  	Rx
// RF frequency B: 434.052500 MHz	Inactive	Tx
// Frequency separation: 4.950 kHz
// Data rate: 4.800 kBaud
// Data Format: Manchester		Accurate
// RF output power: 0 dBm
// Channel width: 25 kHz
// Modulation: GFSK		Dithering enabled
// Lock: Continuous
// Carrier sense offset:   0 dBm	DCLK squelch disabled
// Operator Mode: Rx

// Component values, Match
// C1 = 10.0 pF
// C2 = N.A pF
// C3 = 3.9 pF
// L1 = 33.0 nH
// L2 = 15.0 nH

// Component values, LC-filter
// C71 = 18.0 pF
// C72 = 18.0 pF
// L71 = 10.0 nH

// Component values, PLL loop filter:
// R2 = 2.2 k Ohm
// R3 = 6.8 k Ohm
// C6 = 100.0 nF
// C7 = 3900.0 pF
// C8 = 1000.0 pF


const char DefaultConfig433[32] =
{
  0x0F,  // 0x01, INTERFACE
  0xFF,  // 0x02, RESET
  0x8F,  // 0x03, SEQUENCING
  0x3A,  // 0x04, FREQ_2A
  0x14,  // 0x05, FREQ_1A
  0x99,  // 0x06, FREQ_0A
  0x3A,  // 0x07, CLOCK_A
  0x3A,  // 0x08, FREQ_2B
  0x1F,  // 0x09, FREQ_1B
  0x45,  // 0x0A, FREQ_0B
  0x3A,  // 0x0B, CLOCK_B
  0x44,  // 0x0C, VCO
  0x51,  // 0x0D, MODEM
  0x9B,  // 0x0E, DEVIATION
  0x87,  // 0x0F, AFC_CONTROL
  0x2F,  // 0x10, FILTER
  0x65,  // 0x11, VGA1
  0x57,  // 0x12, VGA2
  0x2F,  // 0x13, VGA3
  0x2D,  // 0x14, VGA4
  0x20,  // 0x15, LOCK
  0x78,  // 0x16, FRONTEND
  0x46,  // 0x17, ANALOG, RX=46/TX=46
  0x54,  // 0x18, BUFF_SWING
  0x22,  // 0x19, BUFF_CURRENT
  0xAE,  // 0x1A, PLL_BW
  0x35,  // 0x1B, CALIBRATE
  0x0E,  // 0x1C, PA_POWER
  0x00,  // 0x1D, MATCH
  0x00,  // 0x1E, PHASE_COMP
  0x00,  // 0x1F, GAIN_COMP
  0x00   // 0x20, POWERDOWN
};

const char DefaultTXANALOG433 = 0x46;
const char DefaultRXANALOG433 = 0x46;


// SmartRF Studio v4.81

// Device: CC1020

// System parameters:
// X-tal frequency: 14.745600 MHz	Internal
// X-tal accuracy: +/-  8 ppm
// RF frequency A: 869.312500 MHz	Active  	Rx
// RF frequency B: 869.312500 MHz	Inactive	Tx
// Frequency separation: 4.950 kHz
// Data rate: 4.800 kBaud
// Data Format: Manchester		Accurate
// RF output power: 0 dBm
// Channel width: 25 kHz
// Modulation: GFSK		Dithering enabled
// Lock: Continuous
// Carrier sense offset:   0 dBm	DCLK squelch disabled
// Operator Mode: Rx

// Component values, Match
// C1 = 10.0 pF
// C2 = N.A pF
// C3 = 10.0 pF
// L1 = 18.0 nH
// L2 = 3.6 nH

// Component values, LC-filter
// C71 = 8.2 pF
// C72 = 8.2 pF
// L71 = 5.1 nH

// Component values, PLL loop filter:
// R2 = 2.2 k Ohm
// R3 = 6.8 k Ohm
// C6 = 100.0 nF
// C7 = 3900.0 pF
// C8 = 1000.0 pF

const char DefaultConfig868[32] =
{
  0x0F,  // 0x01, INTERFACE
  0xFF,  // 0x02, RESET
  0x8F,  // 0x03, SEQUENCING
  0x3A,  // 0x04, FREQ_2A
  0x2E,  // 0x05, FREQ_1A
  0xE5,  // 0x06, FREQ_0A
  0x3A,  // 0x07, CLOCK_A
  0x3A,  // 0x08, FREQ_2B
  0x34,  // 0x09, FREQ_1B
  0x3B,  // 0x0A, FREQ_0B
  0x3A,  // 0x0B, CLOCK_B
  0x44,  // 0x0C, VCO
  0x51,  // 0x0D, MODEM
  0x8B,  // 0x0E, DEVIATION
  0x87,  // 0x0F, AFC_CONTROL
  0x2F,  // 0x10, FILTER
  0x65,  // 0x11, VGA1
  0x57,  // 0x12, VGA2
  0x2E,  // 0x13, VGA3
  0x2B,  // 0x14, VGA4
  0x21,  // 0x15, LOCK
  0x76,  // 0x16, FRONTEND
  0x86,  // 0x17, ANALOG, RX=86/TX=87
  0x50,  // 0x18, BUFF_SWING
  0x25,  // 0x19, BUFF_CURRENT
  0xAE,  // 0x1A, PLL_BW
  0x35,  // 0x1B, CALIBRATE
  0xA0,  // 0x1C, PA_POWER
  0xF0,  // 0x1D, MATCH
  0x00,  // 0x1E, PHASE_COMP
  0x00,  // 0x1F, GAIN_COMP
  0x00   // 0x20, POWERDOWN
};

const char DefaultTXANALOG868 = 0x87;
const char DefaultRXANALOG868 = 0x86;

// SmartRF Studio v4.81

// Device: CC1020

// System parameters:
// X-tal frequency: 14.745600 MHz	Internal
// X-tal accuracy: +/-  8 ppm
// RF frequency A: 915.000000 MHz	Active  	Rx
// RF frequency B: 915.000000 MHz	Inactive	Tx
// Frequency separation: 4.950 kHz
// Data rate: 4.800 kBaud
// Data Format: Manchester		Accurate
// RF output power: 0 dBm
// Channel width: 25 kHz
// Modulation: GFSK		Dithering enabled
// Lock: Continuous
// Carrier sense offset:   0 dBm	DCLK squelch disabled
// Operator Mode: Rx

// Component values, Match
// C1 = 10.0 pF
// C2 = N.A pF
// C3 = 10.0 pF
// L1 = 18.0 nH
// L2 = 3.6 nH

// Component values, LC-filter
// C71 = TBD pF
// C72 = TBD pF
// L71 = TBD nH

// Component values, PLL loop filter:
// R2 = 2.2 k Ohm
// R3 = 6.8 k Ohm
// C6 = 100.0 nF
// C7 = 3900.0 pF
// C8 = 1000.0 pF

const char DefaultConfig905[32] =
{
  0x0F,  // 0x01, INTERFACE
  0xFF,  // 0x02, RESET
  0x8F,  // 0x03, SEQUENCING
  0x3D,  // 0x04, FREQ_2A
  0x48,  // 0x05, FREQ_1A
  0x15,  // 0x06, FREQ_0A
  0x3A,  // 0x07, CLOCK_A
  0x3D,  // 0x08, FREQ_2B
  0x4D,  // 0x09, FREQ_1B
  0x6B,  // 0x0A, FREQ_0B
  0x3A,  // 0x0B, CLOCK_B
  0x44,  // 0x0C, VCO
  0x51,  // 0x0D, MODEM
  0x8B,  // 0x0E, DEVIATION
  0x87,  // 0x0F, AFC_CONTROL
  0x2F,  // 0x10, FILTER
  0x65,  // 0x11, VGA1
  0x57,  // 0x12, VGA2
  0x2E,  // 0x13, VGA3
  0x2B,  // 0x14, VGA4
  0x21,  // 0x15, LOCK
  0x76,  // 0x16, FRONTEND
  0x86,  // 0x17, ANALOG, RX=86/TX=87
  0x50,  // 0x18, BUFF_SWING
  0x25,  // 0x19, BUFF_CURRENT
  0xAE,  // 0x1A, PLL_BW
  0x35,  // 0x1B, CALIBRATE
  0xA0,  // 0x1C, PA_POWER
  0xF0,  // 0x1D, MATCH
  0x00,  // 0x1E, PHASE_COMP
  0x00,  // 0x1F, GAIN_COMP
  0x00   // 0x20, POWERDOWN
};

const char DefaultTXANALOG905 = 0x87;
const char DefaultRXANALOG905 = 0x86;


// Configures all the CC1020 registers according to the values stored in EEPROM
void SetupCC1020All(void)
{ 
  char counter;
  char value;

  for(counter=0x01; counter<=0x20; counter++){
    value=EEPROMCC1020Config[counter-1];
    WriteToCC1020Register(counter,value);
  }

  Button1Char=EEPROMButton1Char;
  Button2Char=EEPROMButton2Char;
  TXANALOG=EEPROMTXANALOG;
  RXANALOG=EEPROMRXANALOG;
  PA_POWER=EEPROMPA_POWER;
  PreambleLength=EEPROMPreambleLength;
}


// Dumps the values of all the registers of the CC1000 to the screen
void DumpCC1020Regs(void)
{
  char RegCounter;

  writestr("Register dump:\n\r\n\r");
  for(RegCounter=0x00; RegCounter<=0x20; RegCounter++) {
    writestr("Addr. ");
    writehex(RegCounter);
    writestr(" : ");
    writehex(ReadFromCC1020Register(RegCounter));
    writeln("");
  }
}



// Lets the user select one of the default setups
void DefaultSettings(void)
{
  char i;

  writeln("Select default configuration:\n\r");
  writeln("4 - 433 MHz");
  writeln("8 - 868 MHz");
  writeln("9 - 905 MHz");
  writestr("Enter choice : ");

  i=getchar();
  writeln("");

  switch(toupper(i)){
    case '4' :
        for(i=0; i<0x20; i++){
          EEPROMCC1020Config[i]=DefaultConfig433[i];
        }
        EEPROMTXANALOG=DefaultTXANALOG433;
        EEPROMRXANALOG=DefaultRXANALOG433;
        break;

    case '8' :
        for(i=0; i<0x20; i++){
          EEPROMCC1020Config[i]=DefaultConfig868[i];
        }
        EEPROMTXANALOG=DefaultTXANALOG868;
        EEPROMRXANALOG=DefaultRXANALOG868;
        break;

    case '9' :
        for(i=0; i<0x20; i++){
          EEPROMCC1020Config[i]=DefaultConfig905[i];
        }
        EEPROMTXANALOG=DefaultTXANALOG905;
        EEPROMRXANALOG=DefaultRXANALOG905;
        break;
  }

  EEPROMButton1Char=BUTTON1_CHAR;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线直播| 亚洲欧美一区二区在线观看| 精品福利一二区| 中文无字幕一区二区三区| 伊人开心综合网| 韩国成人精品a∨在线观看| 91麻豆蜜桃一区二区三区| 宅男噜噜噜66一区二区66| 国产精品久久久久一区二区三区共| 亚洲自拍偷拍图区| 国产高清在线精品| 欧美二区乱c少妇| 亚洲人123区| 国产精品一级在线| 在线不卡中文字幕播放| 国产精品传媒入口麻豆| 久久国产三级精品| 欧洲精品一区二区| 国产精品美女久久福利网站| 热久久久久久久| 欧美色欧美亚洲另类二区| 国产精品色眯眯| 国产一区三区三区| 日韩欧美中文一区二区| 一区二区三区欧美日| av中文字幕不卡| 国产午夜精品美女毛片视频| 日本不卡的三区四区五区| 欧美在线高清视频| 亚洲欧美色图小说| proumb性欧美在线观看| 国产欧美一区二区三区沐欲| 青青青爽久久午夜综合久久午夜 | 一区二区三区在线观看视频| 九九热在线视频观看这里只有精品| 在线观看欧美日本| 国产精品美女久久久久久久久| 国模冰冰炮一区二区| 91精品国产一区二区人妖| 亚洲午夜久久久久久久久电影网 | 日韩欧美亚洲另类制服综合在线| 一区二区三区四区视频精品免费| 99久久久精品免费观看国产蜜| 久久久99久久| 国产成人综合在线播放| 久久综合99re88久久爱| 国产在线播放一区三区四| 日韩精品中文字幕一区二区三区 | 欧美日韩国产不卡| 悠悠色在线精品| 欧美三区在线观看| 日韩有码一区二区三区| 日韩欧美电影一区| 国产一区二区伦理片| 久久久精品欧美丰满| 成人精品高清在线| 综合久久久久综合| 欧美吻胸吃奶大尺度电影| 亚洲国产一区二区三区| 欧美日本一区二区三区| 青青草原综合久久大伊人精品| 91精品国产一区二区三区蜜臀 | 国产精品羞羞答答xxdd| 国产精品美女一区二区| 91行情网站电视在线观看高清版| 午夜精品一区二区三区三上悠亚| 欧美精品粉嫩高潮一区二区| 精品一区二区三区免费播放| 国产日韩欧美电影| 色婷婷av一区| 蜜桃在线一区二区三区| 亚洲国产精品激情在线观看| 在线视频国内自拍亚洲视频| 美女精品自拍一二三四| 国产精品女同互慰在线看| 欧美日韩一本到| 国产精品亚洲成人| 亚洲一区二区三区小说| 精品国产电影一区二区| 一本色道亚洲精品aⅴ| 秋霞午夜鲁丝一区二区老狼| ...中文天堂在线一区| 欧美日韩国产123区| 国产成人精品影院| 婷婷成人激情在线网| 国产欧美一区二区三区在线看蜜臀| 欧美视频中文字幕| 国产精品一区二区三区99| 亚洲不卡av一区二区三区| 国产女同性恋一区二区| 欧美日本一区二区三区四区| 大陆成人av片| 蜜桃精品视频在线| 亚洲欧美激情小说另类| 精品国产91久久久久久久妲己| 91国产成人在线| 国产成人在线视频网址| 天天综合日日夜夜精品| 亚洲柠檬福利资源导航| 欧美mv日韩mv国产| 欧美日本国产一区| 91同城在线观看| 国产91精品一区二区麻豆网站| 日韩精品一二区| 亚洲国产视频在线| 亚洲三级在线观看| 国产精品国产三级国产普通话蜜臀| 9191成人精品久久| 日本黄色一区二区| 97se亚洲国产综合自在线| 国产真实乱偷精品视频免| 日韩精品欧美成人高清一区二区| 亚洲欧美国产高清| 国产精品免费观看视频| 久久奇米777| 精品国产成人系列| 精品日本一线二线三线不卡| 欧美人体做爰大胆视频| 欧美色图第一页| 欧美探花视频资源| 色域天天综合网| 91麻豆视频网站| 日本韩国一区二区| 色先锋aa成人| 精品1区2区3区| 欧美日韩一区二区三区视频 | 国内一区二区在线| 精品在线播放午夜| 黄网站免费久久| 国产精品资源在线观看| 国产乱码精品一品二品| 国产中文一区二区三区| 国产精华液一区二区三区| 国产精品一区二区男女羞羞无遮挡| 久色婷婷小香蕉久久| 麻豆成人久久精品二区三区红| 日本不卡一二三区黄网| 久久99久久久久| 国产二区国产一区在线观看| 成人免费观看视频| 99国产精品久久久| 欧日韩精品视频| 在线综合视频播放| 久久精品这里都是精品| 亚洲裸体xxx| 亚洲资源在线观看| 日韩国产欧美在线播放| 蜜臀久久99精品久久久久宅男| 国产综合色视频| 成人免费毛片a| 欧美无乱码久久久免费午夜一区| 欧美一区二区不卡视频| 国产亚洲精品中文字幕| 亚洲男同性视频| 青青草视频一区| 成人av在线网站| 91精品国产综合久久久久久漫画| 欧美变态口味重另类| 国产精品免费视频网站| 一区二区三区精品在线观看| 日韩av中文在线观看| 国产成人av影院| 欧美日高清视频| 国产精品热久久久久夜色精品三区 | 久久精品夜色噜噜亚洲aⅴ| 亚洲日本护士毛茸茸| 久久99精品网久久| 91一区二区在线观看| 日韩欧美精品三级| 亚洲男女毛片无遮挡| 久久福利视频一区二区| 色综合久久综合网| 久久免费视频色| 天天做天天摸天天爽国产一区| 风间由美性色一区二区三区| 欧美日韩在线直播| 国产精品网曝门| 久久成人18免费观看| 在线观看国产精品网站| 精品国产一区二区国模嫣然| 亚洲国产精品影院| zzijzzij亚洲日本少妇熟睡| 日韩视频在线一区二区| 一区二区三区不卡视频| 国产白丝精品91爽爽久久| 欧美二区乱c少妇| 一区二区三区在线高清| 成人免费视频视频在线观看免费| 欧美一区二区三区四区五区| 一区二区三区自拍| 99久久国产综合精品麻豆| 精品国产成人系列| 免费久久精品视频| 欧美乱妇15p| 亚洲一区二区精品3399| 99r国产精品| 一区在线观看免费| 成人免费视频caoporn| 久久夜色精品国产噜噜av| 日韩成人av影视|