0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【晶心科技ADP-Corvette-T1开发板试用体验】corvette T1的多任务调度学习

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-11 10:55 次阅读

本文来源电子发烧友社区,作者:ankor, 帖子地址:https://bbs.elecfans.com/jishu_2292363_1_1.html

corvette T1多任务调度学习

本文尝试实现corvette T1开发板的多任务协作功能

多任务协作功能可以使用freeRTOSRT-thread一类实时操作系统实现,也可以使用中断、任务调度器来实现这些功能在arduino中也都支持,因为并不清楚T1开发板支不支持实时操作系统所以本次暂不采用实时操作系统来实现(英文太差,不太看的懂手册QAQ,而且说明文档好像也没提这事?)。

最后我选择了任务调度器来实现T1开发板下的多任务调度,主要用到TaskScheduler这个库,在管理库中搜索并安装即可。

image-20220710153612129.png

先演示下其中的示例,打开个库中的Scheduler_example00_Blink这个示例,操作步骤:文件→示例→TaskScheduler→Scheduler_example00_Blink,如下图。

image-20220710154230957.png

修改LED_BUILTON为13

image-20220710154558688.png

修改前
image-20220710154716104.png

修改后
然后上传即可看到开头视频中的演示效果了。

多任务调度学习

然后又跟下面这位大佬的教程学习了多任务调度的操作(其实主要是学明白他的操作,自己还是太菜了QAQ)

(42条消息) Arduino|实现多任务操作,从此告别果奔6柒的博客-CSDN博客arduino多任务并行

首先是声明自己的回调函数


void t1Callback();

void t2Callback(); void t3Callback();

然后创建任务也就是Task的创建


Task t1(2000, 10, &t1Callback);//创建任务对象,内部参数为延迟时间,任务生存时间(s),任务的回调函数地址

Task t2(3000, TASK_FOREVER, &t2Callback);//回调函数主要是实现任务功能的 Task t3(5000, TASK_FOREVER, &t3Callback);

然后是调度器的创建,主要负责收纳、执行和删除这些任务的


Scheduler runner;

然后根据对象runner区访问类的成员函数


runner.init();

runner.addTask(name);//添加name任务,name为上面的Task 如t1或t2或t3 runner.deleteTask(name); runner.execute();

更多的细节可以参考上面那篇文章,最后是T1开发板使用该文提供的代码跑出来的效果。


#include

// Callback methods prototypes void t1Callback(); void t2Callback(); void t3Callback();

//Tasks (delay_ms,times,func) Task t4(); Task t1(2000, 10, &t1Callback); Task t2(3000, TASK_FOREVER, &t2Callback); Task t3(5000, TASK_FOREVER, &t3Callback);

Scheduler runner;

void t1Callback() { Serial.print("t1: "); Serial.println(millis());


if (t1.isFirstIteration()) { runner.addTask(t3); t3.enable(); Serial.println("t1: enabled t3 and added to the chain"); } if (t1.isLastIteration()) { t3.disable(); runner.deleteTask(t3); t2.setInterval(500); Serial.println("t1: disable t3 and delete it from the chain. t2 interval set to 500"); }

}

void t2Callback() { Serial.print("t2: "); Serial.println(millis());

}

void t3Callback() { Serial.print("t3: "); Serial.println(millis());

}

void setup () { Serial.begin(115200); Serial.println("Scheduler TEST");

runner.init(); Serial.println("Initialized scheduler");

runner.addTask(t1); Serial.println("added t1");

runner.addTask(t2); Serial.println("added t2");

t1.enable(); Serial.println("Enabled t1"); t2.enable(); Serial.println("Enabled t2"); }

void loop () { runner.execute(); }

示例展示

image-20220710230703150.png

以上便是本文的所有内容了

谢谢阅读。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 晶心科技
    +关注

    关注

    0

    文章

    90

    浏览量

    18060
  • 开发板试用
    +关注

    关注

    3

    文章

    299

    浏览量

    1898
收藏 人收藏

    评论

    相关推荐

    【涂鸦T2-U开发板试用体验】涂鸦T2-U开发板初体验

    。 满足大部分场景的通讯能力 T2-U开发板支持Wi-Fi和低功耗蓝牙两种通讯能力,与大众使用习惯更匹配,能满足大部分使用场景下的连接需求。 1、Wi-Fi Wi-Fi的配网、设备控制能力比较丰富,比如
    发表于 12-22 10:59

    【涂鸦T2-U开发板试用体验】1T2-U开发环境搭建及调试

    前言 本章介绍T2-U的开发环境搭建流程,以及一些遇到的问题。 一、资料 试用网址:【新品体验】涂鸦 T2-U 开发板免费
    发表于 11-25 23:38

    【ELF 1开发板试用】+ 1.开箱+前话

    前话 很荣幸参与到本次由飞凌嵌入式和电子发烧友联合举办“ELF 1开发板”的试用活动; ELF 1这款开发板作为
    发表于 11-21 20:56

    【ELF 1开发板试用1.开箱验货

    ,子品牌的学习更加适合入门级的学生使用,价格也比较实惠,资料源代码等全开放,还有配套的学习视频和资料。这一次非常荣幸通过了 ELF1试用
    发表于 11-21 14:20

    【ELF 1开发板试用】+ 1.开箱+前话

    前话 很荣幸参与到本次由飞凌嵌入式和电子发烧友联合举办“ELF 1开发板”的试用活动; ELF 1这款开发板作为
    发表于 11-20 16:23

    【涂鸦T2-U开发板试用体验】开箱测试

    用于日志查看和烧写。 程序启动后,可以从串口看到日志。 T2-U 开发板默认烧录云端连接最小系统 demo(apps/tuyaos_demo_quickstart),可通过涂鸦App 直接连接云端。下面我们将对这个程序进行一下学习
    发表于 11-18 11:28

    【涂鸦T2-U开发板试用体验】初识及试玩开发板

    期待已久的涂鸦开发板已经到了一段时间了,平时上班很忙,没有时间来学习实践,好不容易快熬到周末,挤出一点时间来玩一玩心爱的开发板。板子见图: 标准的长条形设计,一端是天线部分,用来做无线通信
    发表于 11-17 22:44

    【涂鸦T2-U开发板试用体验】远程调试blink

    随着物联网技术的不断发展,智能硬件的开发变得越来越热门。在这个领域,涂鸦智能是一家备受瞩目的公司,其T2开发板也受到了广泛关注。作为一名开发者,我有幸获得了涂鸦
    发表于 11-17 15:54

    【涂鸦T2-U开发板试用体验】第一帖-开箱体验

    先感谢涂鸦智能提供的试用机会,有幸体验T2-U开发板。 涂鸦 T2-U 开发板 是一款专为开发
    发表于 11-16 20:19

    【涂鸦T2-U开发板试用体验】1.初次开箱

    涂鸦 T2-U 开发板主控采用涂鸦智能开发的一款嵌入式 Wi-Fi 和蓝牙双模模组 T2-U,它由一个高集成度的无线射频模组 T2-U 和外
    发表于 11-12 11:05

    【LuckFox Pico 开发板免费试用】关于adb使用

    --从PC传送T文件夹到开发板根目录下Test文件夹. adb -s 172.32.0.93:5555 pull /Test1 .\\T1--从
    发表于 10-21 23:22

    51单片机串口通信方式1到底和计数器T1有什么关系?

    单片机串口通信的问题 我就想问串口通信方式1 到底和计数器T1有什么关系? 波特率的计算重为什么要用到T1 波特率在程序里面到底是怎么体现的。 看了半天PPT都看不懂
    发表于 10-08 08:31

    【米尔-全志T113-S3开发板- 极致双核A7国产处理器-试用体验】米尔-全志T113-S3开发板初次接触体验感不错

    先来介绍一下米尔-全志T113-S3开发板: 全志科技 T113 系列处理器是一款基于双核A7@1.2GHz + HiFi4 DSP 多核异构工业级处理器,支持 H.265/H.264
    发表于 08-17 23:59

    【CW32饭盒派开发板试用体验】5. 极简方式移植FreeRTOS成功

    【CW32饭盒派开发板试用体验】1. 开箱啦 【CW32饭盒派开发板试用体验】2. 使用扩展板串口UART3以及scanf重定向到串口 【C
    发表于 06-02 23:08

    【CW32饭盒派开发板试用体验】3. 使用BTIM实现任务调度

    【CW32饭盒派开发板试用体验】1. 开箱啦 【CW32饭盒派开发板试用体验】2. 使用扩展板串口UART3以及scanf重定向到串口 前言
    发表于 05-31 15:30