program RFM01Test; { Declarations section } procedure SPIWriteWord(w: word); begin SPI1_Write(Hi(w)); SPI1_Write(Lo(w)); end; begin SPI1_Init(); Delay_ms(200); //RFM01 - Configuration Command //eb : Enable low battery detector = 0 //et : Enable wake-up timer = 0 //ex : Enable crystal osc. during sleep = 0 //dc : Disable clock output = 0 //Select 433 MHz band //Select 12.5 pF crystal load capacitor //Receiver bandwidth = 134 kHz SPIWriteWord(0x888A); //RFM01 - Frequency Command //Set center frequency to 433.92 MHz SPIWriteWord(0xA620); //RFM01 - Receiver Setting Command //en : Enable receiver ch. / crystal osc. = 1 //VDI output = Always on //LNA gain = -6 dB //RSSI threshold = -79 dBm SPIWriteWord(0xC0D9); //RFM01 - Low Duty-Cycle Command //en : Enable low duty-cycle = 0 //Duty-cycle = 10% SPIWriteWord(0xCC0E); //RFM01 - LB Det./Clock Div. Command //Vlb = 2.2 V //Clock output = 2.5 MHz SPIWriteWord(0xC280); //RFM01 - AFC Command //AFC automatic mode = Offset always //st : Strobe edge = 0 //fi : Fine mode = 0 //oe : Offset register enable = 0 //en : Calculate offset = 0 //Range limit = +3fres to -4fres //Max. Deviation = +7.5kHz to -10kHz SPIWriteWord(0xC6F0); //RFM01 - Datafilter Command //al : Clock recovery auto lock = 0 //ml : Clock recovery lock control = 0 //Filter type = OOK //DQD threshold = 0 SPIWriteWord(0xC420); //RFM01 - Datarate Command //Set datarate to 9.578544 kbps SPIWriteWord(0xC823); //RFM01 - FIFO Command //ff : FIFO fill = 0 //fe : Enable 16 Bit FIFO = 0 //FIFO fill start condition = VDI //FIFO IT level = 0 SPIWriteWord(0xCE00); while True do begin end; end.