1.15 freertos 计数器生产和消费模型

本文介绍了在嵌入式实时操作系统中,如何使用osSemaphore进行同步,展示了生产者任务(生产小汽车)和消费者任务(购买小汽车)通过信号量myCountingSem01进行交互的C代码片段。
摘要由CSDN通过智能技术生成
osSemaphoreId_t myCountingSem01Handle;
const osSemaphoreAttr_t myCountingSem01_attributes = {
  .name = "myCountingSem01"
};

myCountingSem01Handle = osSemaphoreNew(5, 0, &myCountingSem01_attributes);

void StartTask02(void *argument)
{
  /* USER CODE BEGIN StartTask02 */
  /* Infinite loop */
//	stu_t s1;
  for(;;)
  {	  
	  printf("我生产了俩辆小汽车\r\n");
	  osSemaphoreRelease(myCountingSem01Handle);
	  osSemaphoreRelease(myCountingSem01Handle);
	  osDelay(1000);
  }
  /* USER CODE END StartTask02 */
}

/* USER CODE BEGIN Header_StartTask03 */
/**
* @brief Function implementing the myTask03 thread.
* @param argument: Not used
* @retval None
*/
/* USER CODE END Header_StartTask03 */
void StartTask03(void *argument)
{
  /* USER CODE BEGIN StartTask03 */
  /* Infinite loop */
  for(;;)
  {
	osSemaphoreAcquire(myCountingSem01Handle,osWaitForever);
	printf("我购买了一辆小汽车\r\n");

    osDelay(1);
		
  }
  /* USER CODE END StartTask03 */
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值