BSACPLD 15 29 июля, 2016 Опубликовано 29 июля, 2016 · Жалоба Коллеги, работал ли кто-нибудь с RFM23BP на скоростиях отличных от стандартных? С настройкой скорости передачи вроде разобрался, а вот с приёмной скоростью никак не получается добится приёма данных. В общем если я оставляю дефолтные 40кбит/с, то всё работатет. Если пытаюсь выставить 250кбит/с, то пакеты отпраляются, но не принимаются :( Вот код инициализации RFM23BP: // 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) ; } //--------------------------------------------------------------------------- Если убрать комментарии, то данные перестают приниматься. Подскажите, как правильно настраивать приёмную скорость для данного модуля. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 6 31 июля, 2016 Опубликовано 31 июля, 2016 · Жалоба А Вы видели такой полезный файлик? RF22B_23B_31B_42B_43B_Register_Settings_RevB1_v5.xls.zip И то, что у меня получалось - нужно манчестер отключать на высоких скоростях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 1 августа, 2016 Опубликовано 1 августа, 2016 · Жалоба А Вы видели такой полезный файлик? RF22B_23B_31B_42B_43B_Register_Settings_RevB1_v5.xls.zip И то, что у меня получалось - нужно манчестер отключать на высоких скоростях. По нему как раз и считал. Дело было не в настройках. Покупные антенны оказались бракованные плюс я поставил слишком маленький конденсатор по цепи питания. Конденсатор заменил на 100мкФ электролит, а вместо покупных антенн поставил самодельные GP антенны. Теперь связь стабильная на 250кбит/с :). Дальность пока не тестировал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться