MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / ringbuffer_sample

Function ringbuffer_sample

examples/test/ringbuffer_test.c:80–105  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

78 }
79}
80static void ringbuffer_sample(int argc, char** argv)
81{
82 rt_thread_t tid;
83 rt_uint16_t i = 0;
84 rb = rt_ringbuffer_create(RING_BUFFER_LEN);
85 if (rb == RT_NULL)
86 {
87 rt_kprintf("Can't create ringbffer");
88 return;
89 }
90 tid = rt_thread_create("consumer", consumer_thread_entry, RT_NULL,
91 1024, RT_THREAD_PRIORITY_MAX/3, 20);
92 if (tid == RT_NULL)
93 {
94 rt_ringbuffer_destroy(rb);
95 }
96 rt_thread_startup(tid);
97 while (str[i] != '\0')
98 {
99 rt_kprintf("[Producer] -> %c\n", str[i]);
100 rt_ringbuffer_putchar(rb, str[i++]);
101 rt_thread_mdelay(500);
102 }
103 rt_thread_delete(tid);
104 rt_ringbuffer_destroy(rb);
105}
106MSH_CMD_EXPORT(ringbuffer_sample, Start a producer and a consumer with a ringbuffer);

Callers

nothing calls this directly

Calls 8

rt_ringbuffer_createFunction · 0.85
rt_kprintfFunction · 0.85
rt_thread_createFunction · 0.85
rt_ringbuffer_destroyFunction · 0.85
rt_thread_startupFunction · 0.85
rt_ringbuffer_putcharFunction · 0.85
rt_thread_mdelayFunction · 0.85
rt_thread_deleteFunction · 0.85

Tested by

no test coverage detected