FreeRTOS 队列常用API函数

队列创建xQueueCreate,此宏最终调用函数xQueueGenericCreate()
QueueHandle_t   xQueueCreate( UBaseType_t   uxQueueLength,//要创建的队列的队列长度,这里是队列的项目数
			      UBaseType_t     uxItemSize )//队列中每个项目(消息)的长度,单位为字节


向队列发送消息xQueueSend     xQueueSendToBack       xQueueSendToFront  
这三个函数最后调用的是同一个函数xQueueGenericSend()
BaseType_t 	xQueueSend(QueueHandle_t xQueue,    //队列句柄	
			  const void* pvItemToQueue,//指向要发送的消息
			  TickType_t xTicksToWait); //阻塞时间.值为0队列满时立即返回
						    //值为portMAX_DELAY 死等,但是宏																//INCLUDE_VTaskSuspend必须为1
						   //在FreeRTOSConfig.h文件130行
返回值:
pdPASS:向队列发送消息成功
errQUEUE_FULL	队列已满了,消息发送失败

从队列读取消息xQueueReceive(),读取成功后会把队列中的这条数据删除
BaseType_t xQueueReceive(QueueHandle_t 	xQueue  	//队列句柄
			void* 		pvBuffer	//保存数据的缓冲区
			TickType_t 	xTicksToWait);	//阻塞时间
返回值:
pcTRUE:		从队列中读取数据成功
pdFALSE:		从队列中读取数据失败

从队列读取消息xQueuePeek(),读取成功后不会将消息删除参数和xQueueReceive相同


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值