English
Language : 

SDBC-DK3UG Datasheet, PDF (45/76 Pages) Silicon Laboratories – 4 buttons and 4 LEDs for custom purposes
8.1.1. Basic Code Overview
SDBC-DK3 UG
Main ()
Hardware Initialization
MCU hardware, system clock setup, and I/O init
Hardware SPI pin definition
nSEL and nIRQ pin definition
SPI read/write function protocol
i.e.,
#define SYSCLK (16000000L/2)
#define SPI_CLOCK (SYSCLK/4)
(main.c)
(C8051.h)
//RF chip
SBIT(RF_NSEL_PIN, SFR_P1, 3);
SBIT(RF_NIRQ_PIN, SFR_P0, 6);
//SPI port
SBIT(SPI_MISO_PIN, SFR_P1, 1);
SBIT(SPI_MOSI_PIN, SFR_P1, 2);
SBIT(SPI_SCK_PIN, SFR_P1, 0);
Hardware SPI setup
nSEL and nIRQ pin setup
SPI read/write functions
i.e.,
void SetHwMasterSpi(void)
{
SPI1CFG = 0x40;
SPI1CN = 0x00;
SPI1CKR = (SYSCLK/(2*SPI_CLOCK))-1;
SPI1EN
= 1;
(C8051.c)
//Master SPI, CKPHA=0, CKPOL=0
//3-wire Single Master, SPI enabled
// Enable SPI1 module
//set nSEL pins to high
RF_NSEL_PIN = 1;
}
RF chip hardware and I/O init
RF Parameters definition
i.e.,
//define the default radio frequency
#define FREQ_BAND_SELECT 0x75
#define NOMINAL_CAR_FREQ1 0xBB
#define NOMINAL_CAR_FREQ2 0x80
(Si4432.h)
//frequency band select
//default carrier frequency: 915 MHz
RF hardware setup and parameters setting
(Si4432.c)
i.e.,
// set frequency
SpiRfWriteAddressData((REG_WRITE | FrequencyBandSelect), FREQ_BAND_SELECT);
SpiRfWriteAddressData((REG_WRITE | NominalCarrierFrequency1), NOMINAL_CAR_FREQ1);
SpiRfWriteAddressData((REG_WRITE | NominalCarrierFrequency0), NOMINAL_CAR_FREQ2);
RF chip in continuous receive mode
Check incoming data for valet packet
Blink LED for valid packet
Response to Push button command
Send Data Packet out
(main.c)
Rev. 0.4
45