Hi
I am using C6748. I configure UART1 to communicate to external device (the PC).
I can send data or it seems OK.
But on the receive side I have a very strange thing happening.
I poll the UART receive by
while(CSL_FEXT(ISPUartRegs->LSR, UART_LSR_DR)!= 1);
ISPUartRegs is the base address pointing to UART1 base which is (0x01D0C000u).
I can see that data is ready on the LSR.DR bit of UART1 but the code does something strange.
I trace dissambly of while(CSL_FEXT(ISPUartRegs->LSR, UART_LSR_DR)!= 1);
The assembly code first loads the address of LSR and then ANds it to get LSR.DR. The address that seems to be loaded for UART1 LSR is 0x00E20001 instead
of (0x01D0C000)+5= UART1 base + 5.
What could be the reason for this.
Vert strange. I have occasions when the code does the right thing.
regards
izzet