static char rx_buf_hisr[RX_BUF_MAX];
static int rx_buf_w_point=0;
static int rx_buf_r_point=0;
-char uart4_rx_buf[2048];
+#define _UART4_RX_BUF_MAX 4*1024
+char uart4_rx_buf[_UART4_RX_BUF_MAX];
int uart4_rx_buf_len = 0;
static gps_uart_cfg uart2_port =
{
int uart4_rx_buf_len_tmp = 0;
//timeout = timeout/8+1;
//cplog_printf("uart4_recv_data:timeout:%d\n",timeout);
- while(timeout--)
+ while(1)
{
+ timeout--;
+
gps_ui_delay_us(1400);//1ms
//UOS_SleepMs(1);
if(uart4_rx_buf_len == uart4_rx_buf_len_tmp && uart4_rx_buf_len != 0)
}else
count = 0;
uart4_rx_buf_len_tmp = uart4_rx_buf_len;
- if(count > 5)//连续5ms没新数据,认为是一帧数据,退出
+ if(timeout == 0 && count> 15)//连续15ms没新数据,认为是一帧数据,退出
break;
+ // if(count > 15)//连续15ms没新数据,认为是一帧数据,退出
+ // break;
}
//cplog_printf("uart4_recv_data:count:%d timeout:%d\n",count,timeout);
if(uart4_rx_buf_len > buf_max_len)