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 d06fd958044a420d19f9b445d3324a03d44f594e..4977452cd661121a51d5f72a0ca4cbc1e0a03ff4 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 ee0684a3d9976457635d588a8d4b21122ea6a7a2..418fa79a60f56204df37a7632707732dd110edbb 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 4b685e5b606f449cebdbbcfd13b23365322eb935..48d223430878b41fa14d31c74d7cba1e9732f5ff 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 07b4e8a3ed18540ccccefec35916acdbdaab312d..823503e37806574240f1694a2adf5ff1b87a0c88 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)