【RTOS】在Arduino上跑个系统吧(多任务并行)【一】

2017-04-014.2万
AI 快速预览详细 收起
本文介绍了如何在Arduino上使用FreeRTOS实现多任务并行。首先,下载并安装FreeRTOS_AVR.zip库文件,确保目录结构正确。接着,下载示例程序frBlinkPrint.zip,并通过串口监视器观察程序效果。FreeRTOS通过让用户为每个执行线程分配优先级,调度程序通过优先级来决定下一个执行的线程,从而实现多任务并行。


Arduino同时执行多个程序吧~!

Background

        几乎所有的操作系统都是为了实现多程序或者多任务而出现的,这里说的多任务,实际上并不是完全意义上的多任务,CPU每次只能执行一条指令,操作系统中有一部分叫做调度程序,它决定了每个任务何时执行,优先级等,CPU通过快速切换任务来达到"多任务"并行的效果.

        这里我们介绍的RTOS全称叫做实时操作系统(Real Time Operating System),专门为嵌入式系统设计(Arduino也属于嵌入式操作系统),这类系统通常都会有实时性的要求.

        比如在这里介绍的FreeRTOS的调度程序通过让用户为每个执行线程分配优先级,调度程序通过优先级来决定下一个执行的线程,在FreeRTOS里面,一个执行线程称为一个任务(Task).

Let's get started

        1.下载库
                下载附件FreeRTOS_AVR.zip

        2.安装库
                把下载的文件解压,确保目录结构如图,然后将整个文件夹复制到Arduino的库文件夹,比如我的:C:\Program Files (x86)\Arduino\libraries
                【RTOS】在Arduino上跑个系统吧(多任务并行)【一】图2

                打开Arduino IDE,查看是否安装成功
                【RTOS】在Arduino上跑个系统吧(多任务并行)【一】图1

Next steps

        1.下载示例程序
        【RTOS】在Arduino上跑个系统吧(多任务并行)【一】图3
        下载附件frBlinkPrint.zip

        2.打开串口监视器,观看程序效果
        (串口程序和LED程序并行执行)

..
.
(待续)

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(9)
DFry6Vdy1Xr
DFry6Vdy1Xr
SCoop不好用,各种报错,试试这个
肥肥也红糖
肥肥也红糖
Arduino 用SCoop实现多线程被坑死了!不支持死循环,一点都不任性!
生我独孤
生我独孤
谢谢楼主,可以交流一下吗?和PT操作系统,那个更占用资源?
TXisfine
TXisfine
学习一下,请问这个库是官方的还是改版的?
xtuwz
xtuwz
好动西呀,哈哈
q2017
q2017
学习中...................
Cinhi
Cinhi
It's a big help for me!
Love it!
zdweb
zdweb
下载一下,学习中。
nicho
nicho
作者
占楼更新
[库的安装和示例]
【RTOS】在Arduino上跑个系统吧(多任务并行)【一】
https://mc.dfrobot.com.cn/thread-24089-1-1.html
[进阶程序解读]
【RTOS】在Arduino上跑个系统吧(多任务并行)【二】
https://mc.dfrobot.com.cn/thread-24100-1-1.html
.
.
.


- 没有更多了 -