SWCU194 March 2023 CC1314R10 , CC1354P10 , CC1354R10 , CC2674P10 , CC2674R10
The two system-level interrupts RFC_CPE_0 and RFC_CPE_1 can be produced from a number of low-level interrupts produced by the CPE. Each of these low-level interrupts can be mapped to RFC_CPE_0 or RFC_CPE_1 using the RFC_DBELL:RFCPEISL register. In addition, interrupt generation at system level may be switched on and off using the RFC_DBELL:RFCPEIEN register.
In case of an event that triggers a low-level interrupt, the corresponding bit in the RFCPEIFG register is set to 1. Whenever a bit in RFC_DBELL:RFCPEIFG and the corresponding bit in RFCPEIEN are both 1, the system-level interrupt selected in RFCPEISL is raised. This means that the interrupt service routine (ISR) must clear the bits in RFCPEIFG that correspond to low-level interrupts that have been processed.
The register description for RFCPEIFG in Section 26.11.2 provides a list of the available interrupts.
Clear bits in RFCPEIFG by writing 0 to those bits, while any bits written to 1 remain unchanged.
When clearing bits in the RFCPEIFG register, interrupts may be lost if a read-modify-write operation is done because interrupt flags that became active between the read and write operation might be lost. The Radio Software Bundle (rflib) in the SimpleLink™ CC13xx and CC26xx software development kit (SDK) shows how this is done correctly.