/* AT86RF231::[RX_BUSY] */ /* TRX_IRQ_RX_START occurs here */ trx_bit_write(SR_RX_PDT_DIS, 1); delay(tPSDU); frame = trx_frame_read(); trx_bit_write(SR_RX_PDT_DIS, 0); /* AT86RF231::[RX_ACTIVE] */
/* AT86RF231::[RX_BUSY] */ /* TRX_IRQ_RX_START occurs here */ trx_bit_write(SR_TRX_CMD, CMD_PLL_ON); delay(tPSDU); /* AT86RF231::PLL_ON */ frame = trx_frame_read(); trx_bit_write(SR_TRX_CMD, CMD_RX_ON); trxstat = trx_bit_read(SR_TRX_STATUS); ASSERT(trxstat==RX_ON); /* AT86RF231::RX_ON */
The protection is enabled by setting SR_RX_SAFE_MODE. It holds until the end of a frame buffer read access, indicated by /SEL=High.
| safe_mode |
|
/* AT86RF231::[CONFIG] */ trx_bit_write(SR_RX_SAFE_MODE, safe_mode);
/* AT86RF231::[ACTIVE] */ safe_mode = trx_bit_read(SR_RX_SAFE_MODE);
1.5.2