From ce0d9e6116be7106a69a02da5a46b15e0ce76a60 Mon Sep 17 00:00:00 2001 From: MR Date: Fri, 8 Dec 2023 14:39:50 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E5=88=AB=E5=AD=97?= =?UTF-8?q?=20peak=20->=20peek=20https://github.com/RT-Thread/rt-thread/pu?= =?UTF-8?q?ll/6075?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MR --- .../programming-manual/device-ipc/ringbuffer/ringbuffer.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rt-thread-version/rt-thread-standard/programming-manual/device-ipc/ringbuffer/ringbuffer.md b/rt-thread-version/rt-thread-standard/programming-manual/device-ipc/ringbuffer/ringbuffer.md index 6e5d320..6a6b86c 100644 --- a/rt-thread-version/rt-thread-standard/programming-manual/device-ipc/ringbuffer/ringbuffer.md +++ b/rt-thread-version/rt-thread-standard/programming-manual/device-ipc/ringbuffer/ringbuffer.md @@ -164,7 +164,7 @@ rt_size_t rt_ringbuffer_put_force(struct rt_ringbuffer *rb, const rt_uint8_t *pt ### 从 ringbuffer 读取数据 -从 ringbuffer 里读取数据的接口分为两类,一类是**读数据并取出数据**,另一类是**读数据但并不取出数据**(peak 操作)。 +从 ringbuffer 里读取数据的接口分为两类,一类是**读数据并取出数据**,另一类是**读数据但并不取出数据**(peek 操作)。 先介绍第一类接口,读数据并取出数据。 @@ -204,7 +204,7 @@ rt_size_t rt_ringbuffer_get(struct rt_ringbuffer *rb, rt_uint8_t *ptr, rt_uint16 下面介绍第二类接口,读数据但不取出数据: ```c -rt_size_t rt_ringbuffer_peak(struct rt_ringbuffer *rb, rt_uint8_t**ptr); +rt_size_t rt_ringbuffer_peek(struct rt_ringbuffer *rb, rt_uint8_t**ptr); ``` 该接口用于获取 `rb` 指向的 ringbuffer 内部缓冲区**第一个可读数据的地址**,并保存到 `*ptr`,该接口返回 ringbuffer 内存储的字节数。 @@ -213,7 +213,7 @@ rt_size_t rt_ringbuffer_peak(struct rt_ringbuffer *rb, rt_uint8_t**ptr); ![](figures/peak.png) -此时 ringbuffer 内部存储了 3 个字节, `read_index` 索引到了内部数组的最后一个字节,此时调用 peak 接口,我们获取的就是内部数组的最后一个字节的地址 `p`,我们仅通过 `*p` 访问一个字节是没问题的,若访问第二个字节 `*(p+1)` 则就造成了数组越界。 +此时 ringbuffer 内部存储了 3 个字节, `read_index` 索引到了内部数组的最后一个字节,此时调用 peek 接口,我们获取的就是内部数组的最后一个字节的地址 `p`,我们仅通过 `*p` 访问一个字节是没问题的,若访问第二个字节 `*(p+1)` 则就造成了数组越界。 下表描述了该函数的输入参数与返回值: -- Gitee