const uint8_t RFM70_cmd_adrRX0[] = {(0x20|0x0A), 0x34, 0x43, 0x10, 0x10, 0x01}; //канал P0
const uint8_t RFM70_cmd_adrRX1[] = {(0x20|0x0B), 0x35, 0x43, 0x10, 0x10, 0x02}; //канал P1
const uint8_t RFM70_cmd_adrTX[] = {(0x20|0x10), 0x34, 0x43, 0x10, 0x10, 0x01}; //адрес передатчика
void initRegisters(void) {
selectBank(0); // init bank 0 registers
writeRegVal((0x20|0x00), 0x7A); //Enable CRC ,CRC=1byte, POWER UP, TX
writeRegVal((0x20|0x01), 0x3F); //вкл автоответ для 6-и адресов
writeRegVal((0x20|0x02), 0x3F); //активация 6-и адресов приемников
writeRegVal((0x20|0x03), 0x03); //ширина адрессов 5 байт
writeRegVal((0x20|0x04), 0x3F); //--настройка повторных попыток отправления (1000мкС, 15 повторов)
writeRegVal((0x20|0x05), 0x01); //канал радиочастоты 0 (доступно 0-63)
writeRegVal((0x20|0x06), 0x07); // скорость = 1M, мощность 5 dbm, чувствительность 0dB
writeRegPgmBuf((uint8_t *)RFM70_cmd_adrRX0, sizeof(RFM70_cmd_adrRX0)); //адрес 0A - адрес приемника0
writeRegPgmBuf((uint8_t *)RFM70_cmd_adrRX1, sizeof(RFM70_cmd_adrRX1)); //адрес 0B - адрес приемника1
writeRegVal((0x20|0x0C), 0xc3); //адрес 0C - адрес приемника2
writeRegVal((0x20|0x0D), 0xc4); //адрес 0D - адрес приемника3
writeRegVal((0x20|0x0E), 0xc5); //адрес 0E - адрес приемника4
writeRegVal((0x20|0x0F), 0xc6); //адрес 0F - адрес приемника5
writeRegPgmBuf((uint8_t *)RFM70_cmd_adrTX, sizeof(RFM70_cmd_adrTX)); //адрес 10 - адрес приемника
writeRegVal((0x20|0x11), 0x01); //число байтов в буфере загрузки приемника
writeRegVal((0x20|0x12), 0x01); //число байтов в буфере загрузки приемника
writeRegVal((0x20|0x13), 0x01); //число байтов в буфере загрузки приемника
writeRegVal((0x20|0x14), 0x01); //число байтов в буфере загрузки приемника
writeRegVal((0x20|0x15), 0x01); //число байтов в буфере загрузки приемника
writeRegVal((0x20|0x16), 0x01); //число байтов в буфере загрузки приемника
if(!readRegVal(RFM70_REG_FEATURE)) writeRegVal(0x50, 0x73); // activate Feature register
writeRegVal((0x20|0x1D), 0x03); //EN Payload with , EN W_TX_PAYLOAD_NOACK command
temp01=readRegVal(0x1D); //проверка как записалось
writeRegVal((0x20|0x1C), 0x00); //Disable dynamic payload legth data pipe0-5
temp01=readRegVal(0x1C); //проверка как записалось
_delay_prog(RFM70_END_INIT_WAIT_MS); //задержка
CE_ON;
_delay_prog(RFM70_END_INIT_WAIT_MS); //задержка
setModeTX();
} |