Our project use 51822 and another MCU stm32 to transmit heart rate data by uart. then 51822 SPP heart rate to smart phone APP. Now, We meet a issue that 51822 UART will crash if coninuously transmit data over several minutes (i.e over 5 minutes) between STM32 and 51822. STM32 UART can send data to 51822 but 51822 UART can't receive it and send ACK to STM32. Even through we re-initialization 51822 UART but it take no effect. if transmit data time less than 3 Minutes the UART seem ok. we call your callback to init UART as below:
const app_uart_comm_params_t comm_params =
{
RX_PIN_NUMBER,
TX_PIN_NUMBER,
RTS_PIN_NUMBER,
CTS_PIN_NUMBER,
APP_UART_FLOW_CONTROL_DISABLED, //APP_UART_FLOW_CONTROL_ENABLED
false,
UART_BAUDRATE_BAUDRATE_Baud57600
};
APP_UART_FIFO_INIT( &comm_params,
256,
256,
uart_event_handle,
APP_IRQ_PRIORITY_LOW,
err_code);
We try to decrease to baud rate 38400 from 57600 but it still not fixed it. Another, i find if increase connection interval by modfiy min and max interval range that can delay UART crash time as below:
#define MIN_CONN_INTERVAL MSEC_TO_UNITS(8, UNIT_1_25_MS)
/*< Minimum acceptable connection interval (20 ms), Connection interval uses 1.25 ms units. */
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(10, UNIT_1_25_MS)
what cause 51822 UART crash?