Quantcast
Channel: Infineon Forums
Viewing all articles
Browse latest Browse all 9892

XMC4500 UART not always reciving data

$
0
0
Hello,
I am trying to communicate between STM32F4 and XMC4500 via UART.
I made simple function to initialize connection and XMC doesn't always see data coming back from STM

Code:

       
while(init == 1)
        {
                UART_Receive(&UART_0, rec_data, 6);
                if((rec_data[0] == 0x00) && (rec_data[2] == 0xCC) && (rec_data[4] == 0x00))
                {
                        uint8_t ack = 0;
                        while(ack == 0)
                        {
                                UART_Transmit(&UART_0, &odp[0], 1);
                                UART_Receive(&UART_0, &ack, 1);
                                while(UART_IsRxBusy(&UART_0));
                                for(uint32_t i = 0; i < 5000;i++);
                        }
                        init = 0;
                }

The problem happens inside the"ack while", where XMC is constantly sending odp[0], and ignoring STMs response (which is the same value as odp[0]).
I've checked signal on a signal analyzer and it seems that UART_Receive just does nothing, while(UART_IsRxBusy(&UART_0)); finishes after just one check on a statement.

Any solutions?

Viewing all articles
Browse latest Browse all 9892

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>