From 2aae037143d7e0e0ddec29d7d86324a98345a5a8 Mon Sep 17 00:00:00 2001 From: zhkag Date: Thu, 14 Sep 2023 10:56:39 +0800 Subject: [PATCH] =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=20rt=5Fmq=5Frecv=20?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../programming-manual/device/uart/uart_v1/uart.md | 2 +- .../programming-manual/device/uart/uart_v2/uart.md | 2 +- .../rt-thread-standard/programming-manual/ipc2/ipc2.md | 8 ++++---- .../experimental-manual/msgq_sample/msgq_sample.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart.md b/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart.md index d06fd95..4977452 100644 --- a/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart.md +++ b/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart.md @@ -587,7 +587,7 @@ static void serial_thread_entry(void *parameter) rt_memset(&msg, 0, sizeof(msg)); /* 从消息队列中读取消息*/ result = rt_mq_recv(&rx_mq, &msg, sizeof(msg), RT_WAITING_FOREVER); - if (result == RT_EOK) + if (result > 0) { /* 从串口读取数据*/ rx_length = rt_device_read(msg.dev, 0, rx_buffer, msg.size); diff --git a/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v2/uart.md b/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v2/uart.md index ee0684a..418fa79 100644 --- a/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v2/uart.md +++ b/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v2/uart.md @@ -628,7 +628,7 @@ static void serial_thread_entry(void *parameter) rt_memset(&msg, 0, sizeof(msg)); /* 从消息队列中读取消息 */ result = rt_mq_recv(&rx_mq, &msg, sizeof(msg), RT_WAITING_FOREVER); - if (result == RT_EOK) + if (result > 0) { /* 从串口读取数据 */ rx_length = rt_device_read(msg.dev, 0, rx_buffer, msg.size); diff --git a/rt-thread-version/rt-thread-standard/programming-manual/ipc2/ipc2.md b/rt-thread-version/rt-thread-standard/programming-manual/ipc2/ipc2.md index 4b685e5..48d2234 100644 --- a/rt-thread-version/rt-thread-standard/programming-manual/ipc2/ipc2.md +++ b/rt-thread-version/rt-thread-standard/programming-manual/ipc2/ipc2.md @@ -572,7 +572,7 @@ rt_err_t rt_mq_urgent(rt_mq_t mq, void* buffer, rt_size_t size); 当消息队列中有消息时,接收者才能接收消息,否则接收者会根据超时时间设置,或挂起在消息队列的等待线程队列上,或直接返回。接收消息函数接口如下: ```c -rt_err_t rt_mq_recv (rt_mq_t mq, void* buffer, +rt_ssize_t rt_mq_recv (rt_mq_t mq, void* buffer, rt_size_t size, rt_int32_t timeout); ``` @@ -585,7 +585,7 @@ rt_err_t rt_mq_recv (rt_mq_t mq, void* buffer, | size | 消息大小 | | timeout | 指定的超时时间 | |**返回** | —— | -| RT_EOK | 成功收到 | +| 接收到消息的长度 | 成功收到 | | \-RT_ETIMEOUT | 超时 | | \-RT_ERROR | 失败,返回错误 | @@ -617,7 +617,7 @@ static void thread1_entry(void *parameter) while (1) { /* 从消息队列中接收消息 */ - if (rt_mq_recv(&mq, &buf, sizeof(buf), RT_WAITING_FOREVER) == RT_EOK) + if (rt_mq_recv(&mq, &buf, sizeof(buf), RT_WAITING_FOREVER) > 0) { rt_kprintf("thread1: recv msg from msg queue, the content:%c\n", buf); if (cnt == 19) @@ -806,7 +806,7 @@ void message_handler() struct msg msg_ptr; /* 用于放置消息的局部变量 */ /* 从消息队列中接收消息到 msg_ptr 中 */ - if (rt_mq_recv(mq, (void*)&msg_ptr, sizeof(struct msg), RT_WAITING_FOREVER) == RT_EOK) + if (rt_mq_recv(mq, (void*)&msg_ptr, sizeof(struct msg), RT_WAITING_FOREVER) > 0) { /* 成功接收到消息,进行相应的数据处理 */ } diff --git a/rt-thread-version/rt-thread-standard/tutorial/experimental-manual/msgq_sample/msgq_sample.md b/rt-thread-version/rt-thread-standard/tutorial/experimental-manual/msgq_sample/msgq_sample.md index 07b4e8a..823503e 100644 --- a/rt-thread-version/rt-thread-standard/tutorial/experimental-manual/msgq_sample/msgq_sample.md +++ b/rt-thread-version/rt-thread-standard/tutorial/experimental-manual/msgq_sample/msgq_sample.md @@ -84,7 +84,7 @@ static void thread1_entry(void *parameter) while (1) { /* 从消息队列中接收消息 */ - if (rt_mq_recv(&mq, &buf, sizeof(buf), RT_WAITING_FOREVER) == RT_EOK) + if (rt_mq_recv(&mq, &buf, sizeof(buf), RT_WAITING_FOREVER) > 0) { rt_kprintf("thread1: recv msg from msg queue, the content:%c\n", buf); if (cnt == 19) -- Gitee