Hello all,
I am running a 430F5137 to transmit and reeceiver data.
I've used a debbuger, and found out that the code is stuck in an infinite loop while trying to perform a reading of the IOCFG2 register:
uint8 ReadSingleReg(uint8 addr)
{
uint8 data_out;
// Check for valid configuration register address, 0x3E refers to PATABLE
if ((addr <= 0x2E) || (addr == 0x3E))
// Send address + Instruction + 1 dummy byte (auto-read)
RF1AINSTR1B = (addr | RF_SNGLREGRD);
else
// Send address + Instruction + 1 dummy byte (auto-read)
RF1AINSTR1B = (addr | RF_STATREGRD);
while (!(RF1AIFCTL1 & RFDOUTIFG) ); // <====== STUCK FOREVER.....
data_out = RF1ADOUTB; // Read data and clears the RFDOUTIFG
return data_out;
}
I may know while it stop here, I closed transmitter part and if I opened it, the chip can work agan. But I want the receiver part do some other work if there is no transmiiter, and if the receiver stuck in while (!(RF1AIFCTL1 & RFDOUTIFG) ); it can not do anying else.
Thanks.
Rui