Tool/software:
The example code for the CC2530 (SWRC135B.zip) has the following code for transmitting a frame.
uint8 halRfTransmit(void)
{
uint8 status;
ISTXON(); // Sending
// Waiting for transmission to finish
while(!(RFIRQF1 & IRQ_TXDONE) );
RFIRQF1 = ~IRQ_TXDONE;
status= SUCCESS;
return status;
}
Section 23.1.2 of the user guide states that S1CON also needs cleared to clear an interrupt. The example code for TX does not do this. The ISR in the example code for RX (rfIsr) does clear S1CON.
Is the example code incorrect or doesn't it matter since it's not inside an ISR?