С настройкой скорости передачи вроде разобрался, а вот с приёмной скоростью никак не получается добится приёма данных.
В общем если я оставляю дефолтные 40кбит/с, то всё работатет. Если пытаюсь выставить 250кбит/с, то пакеты отпраляются, но не принимаются

Вот код инициализации RFM23BP:
CODE
// init_RFM23BP.cpp
#include "AVR_CPU.h"
#include "main.h"
#include "system.h"
#include "control_rfm.h"
#include "init_RFM23BP.h"
#define RFM_ID 0x08
//---------------------------------------------------------------------------
void init_RFM23BP (void)
{
__delay_cycles (const20ms) ;
// Reset ALL registers
wr_rfm_byte (0x07, 0x81) ;
__delay_cycles (const1ms) ;
// Check DEVICE_TYPE
if (rd_rfm_byte(0) != RFM_ID)
LED_PORT |= (1<<LED1) ;
// FREQ = 868.95MHz
wr_rfm_byte (0x75, 0x73) ; // sbsel=1, hbsel=1, fb=19
wr_rfm_byte (0x76, HIBYTE(28640)) ; // fc=28640 (868.95MHz)
wr_rfm_byte (0x77, LOBYTE(28640)) ; //
wr_rfm_byte (0x74, HIBYTE(0)) ; // fo=0
wr_rfm_byte (0x73, LOBYTE(0)) ; //
wr_rfm_byte (0x79, 0x00) ; // fhch=0
wr_rfm_byte (0x7A, 0x00) ; // fhs=0
// Modulation
wr_rfm_byte (0x70, 0xC0) ; // txdtrtscale=0, enphpwdn=0, manppol=1, enmaninv=1, enmanch=0, enwhite=0
wr_rfm_byte (0x71, 0x23) ; // dtmod=FIFO, modtyp=GFSK, fd=160 (100kHz)
//wr_rfm_byte (0x72, 0xA0) ; //
wr_rfm_byte (0x34, 64) ;
/*
// TX data rate
wr_rfm_byte (0x58, 0xC0) ; // if >100kbps 0xC0, else 0x80
wr_rfm_byte (0x6E, HIBYTE(16384)) ; // txdr=16384 (250kbps)
wr_rfm_byte (0x6F, LOBYTE(16384)) ; //
*/
// TX power = 10dBm
wr_rfm_byte (0x6D, 0x1B) ;
/*
// RX
wr_rfm_byte (0x1C, 0x8B) ; // dwn3_bypass=1, ndec_exp=0, filset=11
wr_rfm_byte (0x20, 48) ;
wr_rfm_byte (0x21, HIWORD(LOBYTE(174763))) ;
wr_rfm_byte (0x22, LOWORD(HIBYTE(174763))) ;
wr_rfm_byte (0x23, LOWORD(LOBYTE(174763))) ;
wr_rfm_byte (0x24, 0x0E) ; // rxncocomp=1, cgainx2=1, crgain=1708
wr_rfm_byte (0x25, 0xAC) ; //
*/
// PLL ON
wr_rfm_byte (0x07, 0x03) ;
__delay_cycles (const1ms) ;
}
//---------------------------------------------------------------------------
#include "AVR_CPU.h"
#include "main.h"
#include "system.h"
#include "control_rfm.h"
#include "init_RFM23BP.h"
#define RFM_ID 0x08
//---------------------------------------------------------------------------
void init_RFM23BP (void)
{
__delay_cycles (const20ms) ;
// Reset ALL registers
wr_rfm_byte (0x07, 0x81) ;
__delay_cycles (const1ms) ;
// Check DEVICE_TYPE
if (rd_rfm_byte(0) != RFM_ID)
LED_PORT |= (1<<LED1) ;
// FREQ = 868.95MHz
wr_rfm_byte (0x75, 0x73) ; // sbsel=1, hbsel=1, fb=19
wr_rfm_byte (0x76, HIBYTE(28640)) ; // fc=28640 (868.95MHz)
wr_rfm_byte (0x77, LOBYTE(28640)) ; //
wr_rfm_byte (0x74, HIBYTE(0)) ; // fo=0
wr_rfm_byte (0x73, LOBYTE(0)) ; //
wr_rfm_byte (0x79, 0x00) ; // fhch=0
wr_rfm_byte (0x7A, 0x00) ; // fhs=0
// Modulation
wr_rfm_byte (0x70, 0xC0) ; // txdtrtscale=0, enphpwdn=0, manppol=1, enmaninv=1, enmanch=0, enwhite=0
wr_rfm_byte (0x71, 0x23) ; // dtmod=FIFO, modtyp=GFSK, fd=160 (100kHz)
//wr_rfm_byte (0x72, 0xA0) ; //
wr_rfm_byte (0x34, 64) ;
/*
// TX data rate
wr_rfm_byte (0x58, 0xC0) ; // if >100kbps 0xC0, else 0x80
wr_rfm_byte (0x6E, HIBYTE(16384)) ; // txdr=16384 (250kbps)
wr_rfm_byte (0x6F, LOBYTE(16384)) ; //
*/
// TX power = 10dBm
wr_rfm_byte (0x6D, 0x1B) ;
/*
// RX
wr_rfm_byte (0x1C, 0x8B) ; // dwn3_bypass=1, ndec_exp=0, filset=11
wr_rfm_byte (0x20, 48) ;
wr_rfm_byte (0x21, HIWORD(LOBYTE(174763))) ;
wr_rfm_byte (0x22, LOWORD(HIBYTE(174763))) ;
wr_rfm_byte (0x23, LOWORD(LOBYTE(174763))) ;
wr_rfm_byte (0x24, 0x0E) ; // rxncocomp=1, cgainx2=1, crgain=1708
wr_rfm_byte (0x25, 0xAC) ; //
*/
// PLL ON
wr_rfm_byte (0x07, 0x03) ;
__delay_cycles (const1ms) ;
}
//---------------------------------------------------------------------------
Если убрать комментарии, то данные перестают приниматься.
Подскажите, как правильно настраивать приёмную скорость для данного модуля.