玉米脱粒机厂家
免费服务热线

Free service

hotline

010-00000000
玉米脱粒机厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

基于Small RTOS51的多任务串行通信研究 - 软件编程-OS - 免费猫

发布时间:2020-02-17 13:15:05 阅读: 来源:玉米脱粒机厂家

基于Small RTOS51的多任务串行通信研究 - 软件编程/OS - 电子工程网

在简单的单片机应用系统中,前/后台系统被广泛应用。其中应用程序是一个无限循环,循环中调用相应的函数完成相应的操作。这部分可以看作后台行为,也称为任务级;中断服务程序处理异步事件,可以看作前台,也叫中断级,时间相关性很强的操作靠中断服务程序来保证。中断服务程序提供的信息一直要等到后台程序运行到该处理这个信息时才能得到处理,最坏情况下,响应时间等于整个循环的执行时间。随着单片机应用系统的复杂化,前/后台系统已不能满足系统实时性的要求,这就需要一个嵌入式的实时操作系统来管理和协调多个任务和中断。

目前在单片机上运行的实时多任务操作系统主要有μC/OS、RTX51 Full和RTX51 Tiny。μC/OS是Jean J.Labrosse先生编写的源码开放的实时内核,可适用于8/16/32位的单片机、ARM和DSP等微控制器和微处理器,在诸多领域得到广泛应用。但是μC/Os实时操作系统规模较大,相对于处理能力有限的单片机来说有些勉强,并且大多需要外扩RAM运行,这给应用系统软硬件设计都带来不便。 RTX51是德国Keil公司开发的一种小型的专门应用于McS-51系列单片机的实时多任务操作系统,它有RTX51 Full和RTX51 Tiny两个版本。RTX51 Full无源码,自身代码有6 KB多,运行时需要大量的外部RAM,不利于学习和使用;RTX51 Tiny较为简单,但是任务没有优先级和中断管理,很多时候并不实用。SmallRTOS51是陈明计先生为51系列单片机编写的源码公开的实时操作系统,支持任务优先级和中断管理,RAM需求量小,非常适合在单片机上运行。本文将在简要介绍Small RTOS51实时操作系统的基础上,结合具体应用实例详细说明Small RTOS51环境下的多任务串行通信。

1 Small RTOS51简介

Small RTOS51嵌入式实时操作系统具有以下特点:

①公开源代码,任何人都可以免费获取。

②可移植、可固化,虽然是为51系列单片机编写,但是比较容易移植到其他MECU上,并可以固化到产品中,成为产品的一部分。

③占先式,支持16个优先级不同的用户任务以抢占式运行。

④中断管理,系统支持中断管理功能,中断嵌套层数可达255层。

⑤RAM需求量小,Small RTOS51为小RAM系统设计,128个RAM单元就可以运行。通常单片机不需要外扩RAM就能运行Small RTOS51实时操作系统。

下面简要介绍Small RTOS51的任务管理和任务间的通信与同步。

1.1 Small RTOS51的任务管理

Small RTOS51实时操作系统中,任务必须是一个无限循环,每个任务必须赋予不同的优先级,优先级数值越小,优先级越高。在任意时刻,任务的状态必处于以下4 种状态之一:

①运行,任务获得CPU后开始执行;

②就绪,任务只等待系统分配CPU资源;

③等待或挂起,任务因等待时隙、信号量或者消息等资源而被阻塞;

④被中断态,发生中断时,CPU提供相应中断服务,原来正在运行的任务暂不能运行,就进入了被中断态。

系统中任务状态的转换关系如图1所示。

万代兰的养殖方法

性感美臀

天津美食

白灵菇的养殖方法