|
@@ -547,7 +547,7 @@ static void client_parser(at_client_t client)
|
|
/* get the end data by response result, return response state END_OK. */
|
|
/* get the end data by response result, return response state END_OK. */
|
|
client->resp_status = AT_RESP_OK;
|
|
client->resp_status = AT_RESP_OK;
|
|
}
|
|
}
|
|
- else if ((memcmp(client->recv_buffer, AT_RESP_END_ERROR, strlen(AT_RESP_END_ERROR)) == 0)
|
|
|
|
|
|
+ else if (strstr(client->recv_buffer, AT_RESP_END_ERROR)
|
|
|| (memcmp(client->recv_buffer, AT_RESP_END_FAIL, strlen(AT_RESP_END_FAIL)) == 0))
|
|
|| (memcmp(client->recv_buffer, AT_RESP_END_FAIL, strlen(AT_RESP_END_FAIL)) == 0))
|
|
{
|
|
{
|
|
client->resp_status = AT_RESP_ERROR;
|
|
client->resp_status = AT_RESP_ERROR;
|
|
@@ -577,7 +577,11 @@ static void client_parser(at_client_t client)
|
|
|
|
|
|
static rt_err_t at_client_rx_ind(rt_device_t dev, rt_size_t size)
|
|
static rt_err_t at_client_rx_ind(rt_device_t dev, rt_size_t size)
|
|
{
|
|
{
|
|
- rt_sem_release(at_client_local->rx_notice);
|
|
|
|
|
|
+ if (size > 0)
|
|
|
|
+ {
|
|
|
|
+ rt_sem_release(at_client_local->rx_notice);
|
|
|
|
+ }
|
|
|
|
+
|
|
return RT_EOK;
|
|
return RT_EOK;
|
|
}
|
|
}
|
|
|
|
|