6.FreeRTOS_队列进行任务间通信

本文内容的基础知识点在博文 “ FreeRTOS_队列基础知识 ”中,博文链接如下:

FreeRTOS_队列基础知识-优快云博客

本文的代码基础在博文  “ FreeRTOS_任务创建与删除 ”中,博文链接如下:

FreeRTOS_任务创建与删除-优快云博客

队列实现任务间通信

队列实现任务间通信的步骤有3步:

  • 定义一个队列句柄
  • 创建队列
  • 在两个任务中分别写队列和读队列

具体代码如下:

/* 任务1处理函数 */
void Task1Function(void *param){
	
	int i=0;
	while(1){
		
		xQueueSend((QueueHandle_t)param,&i,portMAX_DELAY);/* 写队列 */
		printf("i%d ",i);
		i++;
	}
}
/* 任务2处理函数 */
void Task2Function(void *param){
	
	int j=0;
	while(1){
		xQueueReceive((QueueHandle_t)param,&j,portMAX_DELAY);/* 读队列 */
		printf("j%d ",j);
	}
}

int main( void )
{
#ifdef DEBUG
  debug();
#endif
	
	TaskHa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值