2008-08-13 08:49 PM
2008-08-13 08:49 PM
Hello,
I'm searching for a advice for debugging. In a application, I receive via UART1 characters in the FIFO through UART_RxHalfFull. It set a Message to a Task to calculate the chars. At the end of the Task, the Interrupt UART_RxHalfFull will be set again.Code:
ISR: { UART_ItConfig(UART1,UART_RxHalfFull|UART_TimeOutNotEmpty, DISABLE); SetMessage(ProcessChars); } Task: if ( ProcessChars) { while (UART1->SR & UART_RxBufNotEmpty ) { ProcessChars; } UART_ItConfig(UART1,UART_RxHalfFull|UART_TimeOutNotEmpty, ENABLE); /* Reset bit WFI in the RCCU_SMR register */ RCCU->SMR &= 0xFE ; } [/CODE] It runs, as expected. But after a random count, the core does'nt wake up, and I get the UART_OverrunError. How can I debug, the wakeup of the core? I can see the timing per IO-Ports on the Oszi. But why does'nt wake up the core sometimes. Any idea? Thanks, Steffen