нет,
GDO0 настроен как -Asserts when RX FIFO is filled at or above the RX FIFO threshold or the end of packet is
reached. De-asserts when the RX FIFO is empty.
GDO2 - low when receive is active
трансивер всегда находится в режиме приема, для передачи используется CCA.
настроил так, что бы лишний раз не дергать статус по SPI, так как в этом случае падает чувствительность приемника.
калибрую - мастер в непрерывной передаче пакета, а клиент пытается принять пакеты и перестраивает синтезатор на дельту, нахожу Fmin и Fmax, при которых пакеты нормально принимаются. результат Fcal = (Fmin + Fmax) /2
мои насторойки модема
0x16, 0x07, //[MCSM2]
0x17, 0x3F, //[MCSM1] TX on CCA; Stay in Rx after Rx and Tx
0x18, 0x18, //[MCSM0] automaticaly calibrate when going from idle to rx/tx
и все работает.
как Вы статус вычитываете? нужно так:
ret = cc_strobe(CC2500_SNOP);
while((chk = cc_strobe(CC2500_SNOP)) != ret) //wait untilwe read the same value twice - cxx00 bug
{
ret = chk;
}
строб STX в режиме CCA начинает передачу только, если канал чист иначе трансивер остается в режиме приема.