图片缩略图

mx_task

version 1.0.2 (97.7 KB) by 卡洛斯·马
一个简单的使用MATLAB库的“实时”多任务。

31下载

更新2019年7月29日

从GitHub

在GitHub上查看许可证

# mx_task
一个简单的使用MATLAB库的“实时”多任务。

同时处理tic-toc和机器人。速率要求CPU的全部使用,这有时是不希望的。

新的mx_task类允许用户在MATLAB中实现几乎实时的多任务功能,同时不需要占用全部CPU。

---
万博1manbetx支持Linux和Windows。Linux系统通常有更好的RT行为。

功能验证:
-一台18.04LTS机器,带MATLAB R2016b和R2019a,
-一台带MATLAB R2018b的Windows 10机器。

示例0显示了mx_task库的基本功能。

示例1展示了如何实现多任务处理。

示例2是一个基准测试脚本,用于比较mx_task、tictoc和robotics.Rate的调度能力。

#使用
1.首先定义一个带有函数的任务,并将其附加到一个新的mx_task实例。在第二个输入处定义所需的任务周期。

myTask = mx_task(@()myFunc, 1/10);

myFunc()函数

流(“Hello world。\ n”);

结束

2.使用mx_sleep()捕获以[seconds since epoch]为单位的开始时间。

time_start = mx_sleep (0);%休眠0秒

time_now = time_start;

3.在条件中创建一个带有模拟时间陷阱的while循环。Mx_sleep为1us提供几乎实时的调度质量。逐个任务运行task. Run (time_now)。

While (time_now <= time_start + 10) %运行任务10秒。

time_now = mx_sleep (1/1000000);% 1MHz调度程序频率。设置为mx_sleep(0)以获得增强的实时行为(尽管在100% CPU时)。

myTask.run (time_now);

结束

#安装
移动到mx_task目录并运行安装脚本。

引用作为

卡洛斯·马(2021)。mx_taskGitHub (https://github.com/carl0sma/mx_task)。检索

MATLAB版本兼容性
创建R2019a
兼容R2016b到R2019a
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!
要查看或报告这个GitHub插件中的问题,请访问GitHub库
要查看或报告这个GitHub插件中的问题,请访问GitHub库