2 Replies Latest reply on Apr 20, 2014 11:31 PM by raghu1991

    UART problem in WICED SDK-2.4.1



      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



      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.