Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi..

I had been using SDK-2.4.0 and recently I changed to SDK-2.4.1. I tried to run the UART receive program which I wrote in SDK-2.4.0 in the new SDK. The program worked fine in SDK-2.4.0 but it is not working properly in 2.4.1. The wiced_uart_receive_bytes() function always return WICED_ERROR.

This is my function call.

result = wiced_uart_receive_bytes( WICED_SELECTED_UART, receiveData, RX_BUFFER_SIZE ,receiveTimeOut);

when I checked the receiveData, it has received the data correctly. But still the function returns WICED_ERROR.

I went inside the function definition in

WICED-SDK-2.4.1/Wiced/Platform/common/ARM_Cortex_M3/STM32F2xx/stm32f2xx_platform.c

And found a line in platform_uart_receive_bytes() function.

uart_interfaces[uart].rx_dma_result = WICED_ERROR;


if ( timeout > 0 )

{

      host_rtos_get_semaphore( &uart_interfaces[uart].rx_complete, timeout, WICED_TRUE );

      return uart_interfaces[uart].rx_dma_result;

}

I suspected "return uart_interfaces[uart].rx_dma_result" is always returning WICED_ERROR and when I commented it, the program is working fine.

In SDK-2.4.0, this line is not present (I compared this file with previous version).

Am I missing something ? Please help me. My eval board has BCM943362WCD4.

0 Likes
2 Replies