diff options
| author | 朱天龙 (Armink) <[email protected]> | 2018-08-03 20:01:43 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2018-08-03 20:01:43 +0800 |
| commit | 5902e9a64d04a6eb90bc2a7681d42d409d909e79 (patch) | |
| tree | b2c21488dc0058859b2a63e2bfbd2a37a0c8b2d6 /components | |
| parent | a0683e0d2cc9728524dd18b9f730148985852b89 (diff) | |
| parent | 2e8d994485552ae143841569c3444bb65db55cdf (diff) | |
Merge pull request #1693 from chenyong111/master
[net][at] Add AT serial device receive data length judgment.
Diffstat (limited to 'components')
| -rw-r--r-- | components/net/at/include/at.h | 2 | ||||
| -rw-r--r-- | components/net/at/src/at_client.c | 8 | ||||
| -rw-r--r-- | components/net/at/src/at_server.c | 5 |
3 files changed, 11 insertions, 4 deletions
diff --git a/components/net/at/include/at.h b/components/net/at/include/at.h index 76e952944f..782cb0c400 100644 --- a/components/net/at/include/at.h +++ b/components/net/at/include/at.h @@ -27,7 +27,7 @@ #include <rtthread.h> -#define AT_SW_VERSION "0.2.2" +#define AT_SW_VERSION "0.2.3" #define DBG_ENABLE #define DBG_SECTION_NAME "AT" diff --git a/components/net/at/src/at_client.c b/components/net/at/src/at_client.c index c2002d8094..90fd3291c3 100644 --- a/components/net/at/src/at_client.c +++ b/components/net/at/src/at_client.c @@ -547,7 +547,7 @@ static void client_parser(at_client_t client) /* get the end data by response result, return response state END_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)) { 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) { - rt_sem_release(at_client_local->rx_notice); + if (size > 0) + { + rt_sem_release(at_client_local->rx_notice); + } + return RT_EOK; } diff --git a/components/net/at/src/at_server.c b/components/net/at/src/at_server.c index 639739d9c2..a148a20ab0 100644 --- a/components/net/at/src/at_server.c +++ b/components/net/at/src/at_server.c @@ -433,7 +433,10 @@ __retry: static rt_err_t at_rx_ind(rt_device_t dev, rt_size_t size) { - rt_sem_release(at_server_local->rx_notice); + if (size > 0) + { + rt_sem_release(at_server_local->rx_notice); + } return RT_EOK; } |
