介绍RTX51_TINY:

在偶然的情况下看到了有人在51上运用一款实时操作系统,怀着好奇的心态去了解一下。它的大名叫:RTX51,有两个版本TINY和FULL,本文章主要对tiny版本做一个简单的介绍。RTX51 Tiny是一个非抢占或多优先级的实时操作系统,是一个平级的时间片轮询实时操作系统,所有的任务平等运行。

搭建准备工作:

首先要使用这个操作系统需要做一些前期准备:keil4 C51,一块51开发板。在keil C51上需要做些配置,在魔术棒中Target中operating System中设置RTX51_tiny,main.c文件引用#include“rtx51tny.h”,编译发现** FATAL ERROR L257: RTX51-TINY REQUIRES UPGRADE TO PK51*这个错误的话,原因在破解软件时选择了不带有操作系统的版本注册,此时可以用管理员身份打开keil4 C51中file中license management,点击之前注册的license,进行Uninstall按钮删除注册好的,再重新利用注册机重新注册,选择如下图中的MDK版本注册即可编译通过。

简单代码示例:

准备好前期工作,就开始进行编写代码了,这里引用一个简单的灯任务的调度过程。

#include "rtx51tny.h"
#include <reg52.h>sbit led0 = P2^0;
sbit led1 = P2^1;
sbit led2 = P2^2;/* 在CONF_TINY.A51中可配置INT_CLOCK来决定中断使用的周期数也就是时间片,在12HZH的晶振下,INT_CLOCK EQU 10000为10ms,TIMESHARING EQU 5表示任务的时间片最大为50ms *//* os_create_task(task_id); 创建task_id号任务 os_delete_task(task_id); 删除task_id号任务 */
void main_job() _task_ 0
{   os_create_task(1);//task1   os_create_task(2);//task2   os_create_task(3);//task3  os_delete_task(0);//delet task0
}   /* os_wait(typ, ticks,dummy); typ有三个选项K_SIG(启动信号),K_TMO(超时信号),K_IVL(周期信号)或是组合使用。ticks为等待的滴答时间,设置为10的话就是基准时间片*10,dummy未使用,默认设置为0* */
void led0_job() _task_ 1
{     led0 = 0;for (;;)    {   led0 = !led0; os_wait(K_TMO,100,0); //延时1s}
}   void led1_job() _task_ 2
{       led1 = 0;for (;;)   {      led1 = !led1;  os_wait(K_TMO,150,0);   //延时1.5s    }
}  void led2_job() _task_ 3
{   led2 = 0;for (;;)   {   led2 = !led2;         os_wait(K_TMO,150,0);   //延时1.5s}
}  

在传统的C语言程序入口都是从main函数作为入口,而RTX51_TINY构建的应用程序没有main函数,是从任务0开始执行的。整体代码结构和其他RTOS的线程创建相似:由创建的第一个任务中去创建其余任务后删除自身任务。RTX51_TINY的程序用标准的C语言构造,由Keil C51 C编译器编译。用户可以很容易的定义任务函数,而不需要进行复杂的栈和变量结构配置,只需包含一个指定的头文件(rtx51tny.h),RTX51_TINY使用定时器0,定时器0中断,和寄存器组1.如果在程序中使用了定时器0,则RTX51_TINY将不能正常运行。

初识RTX51_TINY实时操作系统相关推荐

  1. 嵌入式实时操作系统1——初识嵌入式实时操作系统

    嵌入式实时操作系统是什么 嵌入式实时操作系统是一个特殊的程序,是一个支持多任务的运行环境.嵌入式实时操作系统最大的特点就是"实时性",如果有一个任务需要执行,实时操作系统会立即执行 ...

  2. 一起DIY四轴飞行器(三)添加实时操作系统--freeRTOS

    开发环境:Windows 软件: 1.STM32CubeMX 6.3.0 2.MDK 5.14 一.初识freeRTOS系统 1.什么是FreeRTOS? Free 即免费的,RTOS 全称是 Rea ...

  3. 使用Nucleus SE实时操作系统

    使用Nucleus SE实时操作系统 Using the Nucleus SE real-time operating system 到目前为止,在本系列文章中,我们详细介绍了Nucleus SE提供 ...

  4. wince系统改安卓系统_什么是实时操作系统(RTOS)

    在维基百科上,实时操作系统(RTOS)的定义如下: 实时操作系统(Real-time operating system, RTOS),又称即时操作系统,它会按照排序运行.管理系统资源,并为开发应用程序 ...

  5. TI 实时操作系统SYS/BIOS使用总结

    1:概述: SYS/BIOS 是一个可扩展的实时的操作系统.具有非常快速的响应时间(在中断和任务切换时达到较短的延迟),响应时间的确定性,强壮的抢占系统,优化的内存分配和堆栈管理(尽量少的消耗和碎片) ...

  6. 【中级软考】什么是实时操作系统?(RTOS:Real Time Operating System)

    实时操作系统(RTO:Real Time Operating System)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出 ...

  7. RTEMS实时操作系统精要(1)-简介

    最早用于美国国防系统,早期的名称为实时导弹系统(Real Time Executive for Missile Systems),后来改名为实时军用系统(Real Time Executive for ...

  8. linux 内核rt,实时操作系统kernel rt

    https://blog.csdn.net/baidu_34045013/article/details/78886617 实时应用程序在某些触发事件和应用程序对该事件的响应之间有操作截止日期.为了满 ...

  9. px4原生源码学习四--Nuttx 实时操作系统编程

    前面说到px4是基于Nuttx实时操作系统上的,那么px4也是由一些程序所构成,这些程序实现了飞行器的自主控制,只不过这些程序并不是我们通常所见到的单片机或者windows编程那样的程序,但基本编程思 ...

最新文章

  1. 基于矩阵分解的推荐算法,简单入门
  2. python3 链表_python3实现链表
  3. shell获取git最近一次提交信息_Git修改commit提交信息
  4. 众推架构的进一步讨论
  5. 洛克菲勒的逆商:如何在逆境中转换思维走向成功
  6. ubuntu16.04 安装图像界面,设置自动登录以及取消休眠模式
  7. java 自定义 转换器_自定义类型转换器
  8. 第七十三回 玄德进位汉中王  云长攻拔襄阳郡
  9. Git cherry-pick 详解
  10. 蒙提霍尔问题及其推广
  11. GTX1050和GTX1050Ti哪个值得买?
  12. 大B、小B、码率计算
  13. 驱动你做一件事的动力来源是什么?
  14. 购买最便宜的阿里云主机用于测试
  15. windows7旗舰版异常不能正常关机
  16. TL431驱动三线PT100热电阻电路设计(转)
  17. ESN/MEID/SCM 烧号
  18. 系统资源不足,无法完成请求的任务 解决方案
  19. 【无标题】Linux服务器上监控网络带宽的18个常用命令
  20. 2008中国商业得意榜与失意榜

热门文章

  1. 中天易税服务器网站,中天易税网上认证系统
  2. win11 创建恢复节点与恢复到节点
  3. 一步步完成“迷你版” 的ASP.NET Core框架
  4. 八问WebSocket协议:为你快速解答WebSocket热门疑问
  5. Pro/E 或是UG
  6. u盘加密方法,献计3个
  7. 2022骨传导蓝牙耳机深度评测!骨传导耳机哪个牌子好?
  8. iOS打包生成ipa的几种方式
  9. 第四届蓝桥杯【省赛试题2】马虎的算式
  10. 开环式霍尔电流传感器和闭环式霍尔电流传感器