环形队列到底是怎么回事?

2023-08-12 16:16:24    来源:个人图书馆-TopSemic嵌入式    


(资料图片)

1) 我需要在一块屏幕上显示多种事件,而事件的来源很多、触发时间也很快,但是屏幕由于资源限制,没法把所有事件都同步显示。这时就可以使用队列,将事件插入到队列中,显示程序读取队列中的事件逐条显示。

2) 我在之前文章:一个蓝牙实战项目的掏肺总结里提到的那个蓝牙收发器,蓝牙芯片一方面接收手机发过来的数据,另一方面要把该数据通过USB 发送出去,但是USB发送数据的间隔又要求比较长,这也可以通过队列来解决。

C++里有现成的队列函数,但是C语言需要自己来实现,我之前项目里用到了Github上的一个代码,ring_buffer_tring_buffer;ring_buffer_init(&ring_buffer);

问题2:

回答:因为在判断队列是否为满的时候,用到了RING_BUFFER_MASK,而inlineuint8_tring_buffer_is_full(ring_buffer_t*buffer){

可以看到当

[责任编辑:h001]

关键词:

相关新闻

关于我们 联系我们:855 729 8@qq.com

版权所有 新消费网 xiaofei.7812.cn

粤ICP备18023326号-7