硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1457|回复: 3
收起左侧

[FreeRTOS] FreeRTOS 任务通信思路

[复制链接]

26

主题

41

回帖

119

积分

初级会员

积分
119
发表于 2024-6-7 11:19:35 | 显示全部楼层 |阅读模式



请教一下:

现在有多个任务(主要任务A和B):

任务A:主要跑GUI图形,负责波形显示
任务B:主要做数学计算(包含大量浮点运算,需要较高的实时性),计算的结果发给任务A做波形显示
任务C:。。。
任务D:。。。

在任务A的GUI里有一个触摸按钮,我屏幕上触摸一下这个按钮,就会启动波形显示。但波形显示之前先要得到任务B计算的数据。

我的思路是,按下触摸按钮后,释放一个二值信号量,任务B接收到信号量后计算数据,计算完成后再触发一个信号量,通知任务A计算完成可以取数据显示。

不确定我这种思路是否合理?希望大神可以赐教,谢谢

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-6-8 01:34:21 | 显示全部楼层
可以的。
回复

使用道具 举报

14

主题

243

回帖

285

积分

高级会员

积分
285
发表于 2024-6-12 13:29:27 | 显示全部楼层
我认为思路是正确的,但是要是人机交互更好一些的话,计算那边要过段时间就返回一个进度信息,比如计算了10%,
发给GUI消息,已经计算了10%,然后界面显示一个进度条,不然要是等你那边计算时间太长没反应,操作的人还以为卡了。
回复

使用道具 举报

0

主题

9

回帖

9

积分

新手上路

积分
9
发表于 2024-8-27 15:39:14 | 显示全部楼层
触摸按钮单独在一个任务里循环检测,按下触摸按钮后,改成发送一个任务通知给任务B,任务B计算完发送一个任务通知给任务A
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-26 05:02 , Processed in 0.327147 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表