血压模组uart调整
authorp15692025051 <846603105@qq.com>
Fri, 23 Feb 2024 06:31:07 +0000 (14:31 +0800)
committerp15692025051 <846603105@qq.com>
Fri, 23 Feb 2024 06:31:07 +0000 (14:31 +0800)
2.sdk/sdk/product/craneg_modem/hal/gps_device/src/gps_uart.c

index 16ca3c4..a7e6648 100644 (file)
@@ -62,7 +62,8 @@ static char rx_buf_lisr[RX_BUF_MAX];
 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 = 
 {
@@ -1212,8 +1213,10 @@ int uart4_recv_data(char *buf,int buf_max_len,unsigned int timeout)
        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)
@@ -1222,8 +1225,10 @@ int uart4_recv_data(char *buf,int buf_max_len,unsigned int timeout)
                }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)