I have a TD1204 sending requests to an other module through its RX/TX pins. The TD1204 does sends frames, the other module recognizes them and answers to the request. At that moment, my TD1204 reboots.
The UART is initialiazed with TD_UART_InitGlobal(); and it is started with TD_UART_Start();. (So the interrupt on LEUART0 should be init too)
Here is the interrupt routine (it is the same as the one available in the libraries)
void LEUART0_IRQHandler(void) //OG in td_uart.c put as comment
{
uint8_t msg;
TD_SIGFOX_Send((uint8_t *) "LEUART0 IRQ",11,2);
msg = LEUART0->RXDATA;
next = (TD_UART[0].RxWriteIndex) + 1;
if (next >= TD_UART_RXBUFSIZE) {
next = 0;
}
if (next != TD_UART[0].RxReadIndex) {
TD_UART[0].RxBuffer[TD_UART[0].RxWriteIndex] = msg;
TD_UART[0].RxWriteIndex = next;
} else {
if (TD_UART[0].Stats.SoftOverflow != 0xFF) {
TD_UART[0].Stats.SoftOverflow++;
}
}
TD_WakeMainLoop();
}
The TD1204 never sends the "LEUART0 IRQ" message at the beginning of the LEUART0_IRQHandler.
I tried to find the reset cause with
uint32_t RMU_ResetCauseGet(void);
But it returns '0'.
I don't know what else to do to find the reset reason.
Can anyone help me?
Kind regards,