码迷,mamicode.com
首页 > 其他好文 > 详细

FreeRTOS队列

时间:2019-12-02 13:54:38      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:str   长度   最大   中断   数据量   取消   传递   大小   的区别   

队列基础知识

队列用于任务与任务、任务与中断之间的通信;

队列中可以存储有限的、大小固定的数据项目,队列所能保存的最大数据项目的数量叫做队列的长度,创建队列的时候会指定数据项目的大小和队列的长度;

队列采用先进先出(FIFO)的存储缓冲机制,也可以使用后进先出(LIFO)的存储缓冲机制;

将消息发送到队列中有两种数据的传递方式:值传递和引用传递(即传递的是消息指针),两种方式的区别如下:

  • 值传递方式:虽然会导致数据拷贝,浪费一点时间,但是一旦将消息发送到队列中,原始的数据缓冲区就可以删除或者覆写,这些缓冲区可以被重复使用;
  • 引用传递方式:节省时间,因为不进行数据拷贝,在一些消息数据太大的情况下就可以直接发送消息缓冲区的地址指针,比如网络应用环境下,数据量较大,拷贝数据不太现实,但是采用该方式对于消息的内容就必须一致保持有效,比如局部变量可能会被随时删除掉,就不能用来传递消息;

队列不属于某个特定的任务,任何任务都可以向队列中发送消息,或者从队列中提取消息;

FreeRTOS队列

标签:str   长度   最大   中断   数据量   取消   传递   大小   的区别   

原文地址:https://www.cnblogs.com/jasontian996/p/11969749.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!