实战篇 | 基于freeRTOS的多任务事件传输demo(附代码)

60 篇文章 50 订阅 ¥29.90 ¥99.00
14 篇文章 11 订阅

之前分享了很多关于freeRTOS的知识,那么我们怎么在实战中去写代码呢?本篇文章重在对基于freeRTOS的架构代码的解析。整个功能如下图:

为什么要用freeRTOS

在实际项目中,如果程序等待一个超时事件,传统的无RTOS情况下,就只能在原地等待而不能执行其它任务,如果使用RTOS,则可以很方便的将当前任务阻塞在该事件下,然后自动去执行别的任务,这样可以高效的利用CPU了。

一般使用情况

我们在开发的时候,我总是在main函数看到以下的代码,这让我感觉不是很爽

int main()
{
  xTaskCreate( vTask1, "Task 1", 1000, NULL, 1, NULL );
  xTaskCreate( vTask2, "Task 2", 1000, NULL, 1, NULL );
  xTaskCreate( vTask3, "Task 3", 1000, NULL, 2, NULL );

  vTaskStartScheduler();

  while(1);
}

然后在每个task中,一般代码会这样写

void vTask1( void *pvParameters )
{
  volatile unsigned long ul;
  for( ;; )
  {
    xQue
  • 11
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值