📄 main.c
字号:
/*****************************************************************************
* *
* ********** *
* ************ *
* *** *** *
* *** +++ *** *
* *** + + *** *
* *** + CHIPCON CC1010 EXAMPLE PROGRAM *
* *** + + *** TX FREQUENCY SWITCHING/HOPPING *
* *** +++ *** *
* *** *** *
* *********** *
* ********* *
* *
*****************************************************************************
* This program puts the CC1010 into TX mode and hops between 2 frequencies. *
* *
*****************************************************************************
* Author: TOS *
*****************************************************************************
* Revision history: *
* *
* $Log: main.c,v $
* Revision 1.2 2004/01/12 12:07:39 tos
* Changed frequency band to 915 MHz (most common for freq.hop.).
*
* Revision 1.1 2003/12/11 12:49:30 tos
* Initial version in CVS.
*
*
* *
****************************************************************************/
#include <chipcon/reg1010.h>
#include <chipcon/cc1010eb.h>
#include <chipcon/hal.h>
void main() {
#ifdef FREQ915
// X-tal frequency: 14.745600 MHz
// RF frequency A: 915.027455 MHz Rx
// RF frequency B: 915.027455 MHz Tx
// RX Mode: Low side LO
// Frequency separation: 64 kHz
// Data rate: 2.4 kBaud
// Data Format: NRZ
// RF output power: 0 dBm
// IF/RSSI: RSSI Enabled
RF_RXTXPAIR_SETTINGS code RF_SETTINGS1 = {
0x43, 0x2F, 0x15, // Modem 0, 1 and 2
0xAA, 0x80, 0x00, // Freq A
0x5C, 0xF4, 0x02, // Freq B
0x01, 0xAB, // FSEP 1 and 0
0x58, // PLL_RX
0x30, // PLL_TX
0x6C, // CURRENT_RX
0xF3, // CURRENT_TX
0x32, // FREND
0xA0, // PA_POW
0x00, // MATCH
0x00, // PRESCALER
};
// X-tal frequency: 14.745600 MHz
// RF frequency A: 916.990343 MHz Rx
// RF frequency B: 916.990343 MHz Tx
// RX Mode: Low side LO
// Frequency separation: 64 kHz
// Data rate: 2.4 kBaud
// Data Format: NRZ
// RF output power: 0 dBm
// IF/RSSI: RSSI Enabled
RF_RXTXPAIR_SETTINGS code RF_SETTINGS2 = {
0x43, 0x2F, 0x15, // Modem 0, 1 and 2
0xD9, 0x80, 0x00, // Freq A
0x5D, 0x27, 0x20, // Freq B
0x01, 0xAB, // FSEP 1 and 0
0x70, // PLL_RX
0x30, // PLL_TX
0x6C, // CURRENT_RX
0xF3, // CURRENT_TX
0x32, // FREND
0xA0, // PA_POW
0x00, // MATCH
0x00, // PRESCALER
};
#endif
// Calibration data Lantic
RF_RXTXPAIR_CALDATA xdata RF_CALDATA1;
RF_RXTXPAIR_CALDATA xdata RF_CALDATA2;
// Disable watchdog timer
WDT_ENABLE(FALSE);
// Configure ports for LEDs:
YLED_OE(TRUE);
GLED_OE(TRUE);
// Set optimum settings for speed and low power consumption
MEM_NO_WAIT_STATES();
FLASH_SET_POWER_MODE(FLASH_STANDBY_BETWEEN_READS);
// Calibrate
halRFCalib(&RF_SETTINGS1, &RF_CALDATA1);
halRFCalib(&RF_SETTINGS2, &RF_CALDATA2);
// Turn on RF for TX
halRFSetRxTxOff(RF_TX, &RF_SETTINGS1, &RF_CALDATA1);
RF_START_TX();
// Run endless frequency hopping:
while(1){
halRFSetRxTxOff(RF_TX, &RF_SETTINGS1, &RF_CALDATA1);
RF_START_TX();
GLED = LED_ON;
YLED = LED_OFF;
halWait(200, CC1010EB_CLKFREQ);
halWait(200, CC1010EB_CLKFREQ);
halWait(200, CC1010EB_CLKFREQ);
halWait(200, CC1010EB_CLKFREQ);
halRFSetRxTxOff(RF_TX, &RF_SETTINGS2, &RF_CALDATA2);
RF_START_TX();
GLED = LED_OFF;
YLED = LED_ON;
halWait(200, CC1010EB_CLKFREQ);
halWait(200, CC1010EB_CLKFREQ);
halWait(200, CC1010EB_CLKFREQ);
halWait(200, CC1010EB_CLKFREQ);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -