Guest User

RFM22B Init

a guest
Apr 3rd, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.34 KB | None | 0 0
  1.     Spi_WriteData(SPI1, INTEN2, 0x00);      // Disable all interrupts
  2.     Spi_WriteData(SPI1, OMFC1, 0x01);       // Set READY mode
  3.     Spi_WriteData(SPI1, 0x09, 0x7F);        // Cap = 12.5pF
  4.     Spi_WriteData(SPI1, 0x0A, 0x05);        // Clk output is 2MHz
  5.  
  6.     Spi_WriteData(SPI1, 0x0F, 0x70);        // NO ADC used
  7.     Spi_WriteData(SPI1, 0x10, 0x00);        // no ADC used
  8.     Spi_WriteData(SPI1, 0x12, 0x00);        // No temp sensor used
  9.     Spi_WriteData(SPI1, 0x13, 0x00);        // no temp sensor used
  10.  
  11.     Spi_WriteData(SPI1, 0x70, 0x20);        // No manchester code, no data whiting, data rate < 30Kbps
  12.  
  13.     Spi_WriteData(SPI1, 0x1C, 0x1D);        // IF filter bandwidth
  14.     Spi_WriteData(SPI1, 0x1D, 0x40);        // AFC Loop
  15.     //write(0x1E, 0x0A);                    // AFC timing
  16.  
  17.     Spi_WriteData(SPI1, 0x20, 0xA1);        // clock recovery
  18.     Spi_WriteData(SPI1, 0x21, 0x20);        // clock recovery
  19.     Spi_WriteData(SPI1, 0x22, 0x4E);        // clock recovery
  20.     Spi_WriteData(SPI1, 0x23, 0xA5);        // clock recovery
  21.     Spi_WriteData(SPI1, 0x24, 0x00);        // clock recovery timing
  22.     Spi_WriteData(SPI1, 0x25, 0x0A);        // clock recovery timing
  23.  
  24.     //write(0x2A, 0x18);
  25.     Spi_WriteData(SPI1, 0x2C, 0x00);
  26.     Spi_WriteData(SPI1, 0x2D, 0x00);
  27.     Spi_WriteData(SPI1, 0x2E, 0x00);
  28.  
  29.     Spi_WriteData(SPI1, 0x6E, 0x27);        // TX data rate 1
  30.     Spi_WriteData(SPI1, 0x6F, 0x52);        // TX data rate 0
  31.  
  32.     Spi_WriteData(SPI1, 0x30, 0x8C);        // Data access control
  33.  
  34.     Spi_WriteData(SPI1, 0x32, 0xFF);        // Header control
  35.  
  36.     Spi_WriteData(SPI1, 0x33, 0x42);        // Header 3, 2, 1, 0 used for head length, fixed packet length, synchronize word length 3, 2,
  37.  
  38.     Spi_WriteData(SPI1, 0x34, 64);          // 64 nibble = 32 byte preamble
  39.     Spi_WriteData(SPI1, 0x35, 0x20);        // 0x35 need to detect 20bit preamble
  40.     Spi_WriteData(SPI1, 0x36, 0x2D);        // synchronize word
  41.     Spi_WriteData(SPI1, 0x37, 0xD4);
  42.     Spi_WriteData(SPI1, 0x38, 0x00);
  43.     Spi_WriteData(SPI1, 0x39, 0x00);
  44.     Spi_WriteData(SPI1, 0x3A, 't');         // set tx header 3
  45.     Spi_WriteData(SPI1, 0x3B, 'e');         // set tx header 2
  46.     Spi_WriteData(SPI1, 0x3C, 's');         // set tx header 1
  47.     Spi_WriteData(SPI1, 0x3D, 't');         // set tx header 0
  48.  
  49.     Spi_WriteData(SPI1, 0x3E, PACKET_LEN);  // set packet length
  50.  
  51.     Spi_WriteData(SPI1, 0x3F, 't');         // set rx header
  52.     Spi_WriteData(SPI1, 0x40, 'e');
  53.     Spi_WriteData(SPI1, 0x41, 's');
  54.     Spi_WriteData(SPI1, 0x42, 't');
  55.     Spi_WriteData(SPI1, 0x43, 0xFF);        // check all bits
  56.     Spi_WriteData(SPI1, 0x44, 0xFF);        // Check all bits
  57.     Spi_WriteData(SPI1, 0x45, 0xFF);        // check all bits
  58.     Spi_WriteData(SPI1, 0x46, 0xFF);        // Check all bits
  59.  
  60.     Spi_WriteData(SPI1, 0x56, 0x01);
  61.  
  62.     Spi_WriteData(SPI1, 0x6D, 0x07);        // Tx power to +20dB
  63.  
  64.     Spi_WriteData(SPI1, 0x79, 0x00);        // no frequency hopping
  65.     Spi_WriteData(SPI1, 0x7A, 0x00);        // no frequency hopping
  66.  
  67.     Spi_WriteData(SPI1, 0x71, 0x22);        // GFSK, fd[8]=0, no invert for TX/RX data, FIFO mode, txclk-->gpio
  68.  
  69.     Spi_WriteData(SPI1, 0x72, 0x48);        // Frequency deviation setting to 45K=72*625
  70.  
  71.     Spi_WriteData(SPI1, 0x73, 0x00);        // No frequency offset
  72.     Spi_WriteData(SPI1, 0x74, 0x00);        // No frequency offset
  73.  
  74.     Spi_WriteData(SPI1, 0x75, 0x53);        // frequency set to 434MHz
  75.     Spi_WriteData(SPI1, 0x76, 0x64);        // frequency set to 434MHz
  76.     Spi_WriteData(SPI1, 0x77, 0x00);        // frequency set to 434Mhz
  77.  
  78.     Spi_WriteData(SPI1, 0x5A, 0x7F);
  79.     Spi_WriteData(SPI1, 0x59, 0x40);
  80.     Spi_WriteData(SPI1, 0x58, 0x80);
  81.  
  82.     Spi_WriteData(SPI1, 0x6A, 0x0B);
  83.     Spi_WriteData(SPI1, 0x68, 0x04);
  84.     Spi_WriteData(SPI1, 0x1F, 0x03);
Advertisement
Add Comment
Please, Sign In to add comment