NRF_RADIO->DFEMODE = 3;
/* Enable parsing CTEInfo from received packet. */
NRF_RADIO->CTEINLINECONF |=
RADIO_CTEINLINECONF_CTEINLINECTRLEN_Enabled;
NRF_RADIO->CTEINLINECONF |=
(RADIO_CTEINLINECONF_CTEINFOINS1_InS1 <<
RADIO_CTEINLINECONF_CTEINFOINS1_Pos);
/* Set S0 Mask and Configuration to check if CP bit is set
* in received PDU.
*/
NRF_RADIO->CTEINLINECONF |=
(0x20 << RADIO_CTEINLINECONF_S0CONF_Pos) |
(0x20 << RADIO_CTEINLINECONF_S0MASK_Pos);
NRF_RADIO->DFEPACKET.PTR = &aoa_packet[0];
NRF_RADIO->DFEPACKET.MAXCNT =
(uint16_t)sizeof(aoa_packet);
// antenna pattern
NRF_RADIO->SWITCHPATTERN = 0x1;
NRF_RADIO->SWITCHPATTERN = 0x1;
NRF_RADIO->SWITCHPATTERN = 0x2;
NRF_RADIO->SWITCHPATTERN = 0x4;
NRF_RADIO->SWITCHPATTERN = 0x8;
NRF_RADIO->PSEL.DFEGPIO[0] = 0x3;
NRF_RADIO->PSEL.DFEGPIO[1] = 0x4;
NRF_RADIO->PSEL.DFEGPIO[2] = 0x1c;
NRF_RADIO->PSEL.DFEGPIO[3] = 0x1d;
//NRF_RADIO->DFECTRL2 |= (0<<RADIO_DFECTRL2_TSWITCHOFFSET_Pos); // would block
((DFECTRL2 *)(&NRF_RADIO->DFECTRL2))->TSWITCHOFFSET = 0;
// sampling.
((DFECTRL1 *)(&NRF_RADIO->DFECTRL1))->SAMPLETYPE = 0;
((DFECTRL1 *)(&NRF_RADIO->DFECTRL1))->TSAMPLESPACINGREF = 3;
((DFECTRL2 *)(&NRF_RADIO->DFECTRL2))->TSAMPLEOFFSET = 3;
((CTEINLINECONF *)(&NRF_RADIO->CTEINLINECONF))->CTEINLINERXMODE1US = 2;
※ 修改:·zhtoad 于 Sep 24 17:37:32 2023 修改本文·[FROM: 103.90.190.*]
※ 来源:·水木社区
http://www.mysmth.net·[FROM: 211.95.35.*]
修改:zhtoad FROM 103.90.190.*
FROM 211.95.35.*