推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

实验19_多任务协作_温湿度采集系统.docx

资料介绍

实验 19:多任务协作 — 温湿度采集系统

实验说明

实验概述

本实验综合运用 FreeRTOS 的软件定时器、信号量和消息队列三种机制,实现一个完整的温湿度数据采集与处理系统原型。系统由采样定时器控制采集节奏,采集完成后通过信号量通知管理任务,管理任务将数据发送到队列,再由处理任务进行后续处理。这种"定时器 + 信号量 + 队列"的组合模式是嵌入式系统中非常典型的任务协作架构。

实验原理

本实验设计了一个三层数据流架构:第一层是采样定时器(软件定时器),每 500ms 触发一次回调函数,模拟读取传感器数据并存入缓冲区;当采集满 10 组数据后,定时器停止并释放信号量通知管理任务;第二层是管理任务,接收到信号量后将缓冲区中的 10 组数据全部发送到消息队列;第三层是处理任务,从队列中逐个取出数据并打印。这种架构将采集、传输、处理三个环节解耦,每个环节独立运行,便于维护和扩展。

关键知识点

1. 软件定时器与信号量配合实现"采集完成通知"。

2. 队列作为数据通道,解耦生产者和消费者。

3. 任务完成后可调用 vTaskDelete(NULL) 自我销毁。

实验现象

系统开始采集 10 组模拟温湿度数据,采集完成后将数据通过队列发送,处理任务逐个接收并打印。

完整代码

  c
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"
#include "semphr.h"


部分文件列表

文件名 大小
实验19_多任务协作_温湿度采集系统.docx 38K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21下载积分 打赏60.00元   3天前

    用户:gsy幸运

  • 21下载积分 打赏70.00元   3天前

    用户:铁蛋锅

  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

  • 21下载积分 打赏25.00元   3天前

    用户:有理想666

  • 21下载积分 打赏15.00元   3天前

    用户:godbox

  • 21下载积分 打赏15.00元   3天前

    用户:aetek

  • 21下载积分 打赏5.00元   3天前

    用户:mulanhk

  • 21下载积分 打赏5.00元   3天前

    用户:JuneLin61

推荐下载