- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Labels:
-
UART