RTX51 Tiny 操作系统第二篇:任务的创建和删除

发布时间:2024-08-13  

系统介绍以及准备工作

1、RTX51_Tiny需要占用 定时器0 、定时器0中断以及寄存器组0。用户程序不可再使用这些资源。
2、首先将RTX51_Tiny的头文件和Lib库文件添加到工程,这两个文件在keil C51的安装目录下,我的KEIL装载G盘,所以路径为:G:KEIL5MDKC51RtxTiny2SourceCode 大家可以参考一下。
3、需要在keil中打开系统支持
在这里插入图片描述
4、程序中需要包含 “RTX51TNY.h” 头文件 #include “RTX51TNY.H”


代码

1、不再需要main()函数,使用任务0来创建其它所需的任务, 标识符 task tasknumber
任务创建格式 void your_task_name (void) task task_number
注意:任务函数的类型必须是void类型,任务里面不允许有返回值
2、函数介绍:
os_create_task() @parameter:task_number
os_delete_task() @parameter:task_number
3、每一个任务里面使用while(1)
4、实例代码:

#include 'rtx51tny.h'

#include 'stdio.h'

#include 'reg51.h'


/*********************

hhm_master@163.com

2020/02/28

*********************/


#define u8   unsigned char

#define u16  unsigned short int

#define u32  unsigned long int


sbit P1_0 = P1^0;

sbit P1_1 = P1^1;

sbit P1_2 = P1^2;

sbit P1_3 = P1^3;


void  delay(u16 time)

{

u16 i,j;

for(i=time;i>0;i--)

for(j=110;j>0;j--);

}



void Creat_Task(void) _task_ 0 

{

os_create_task(1);

os_create_task(2);

os_create_task(3);

os_delete_task(0);

}


void my_Task1(void) _task_ 1

{

while(1)

{

//printf('task1 run ');

P1_0 = 0;

P1_1 = 1;

P1_2 = 1;


}

}


void my_Task2(void) _task_ 2

{

while(1)

{

P1_0 = 1;

P1_1 = 0;

P1_2 = 1;

//printf('task2 run ');

}

}


void my_Task3(void) _task_ 3

{

while(1)

{

P1_0 = 1;

P1_1 = 1;

P1_2 = 0;

//printf('task3 run ');

}

}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    驱动程序来访问的硬件,那么系统调用又是如何实现的呢,就是通过软中断swi指令来进入svc模式,进入到svc模式后当然就能访问硬件啦。 所以我们的应用程序在usr模式想访问硬件,必须切换模式,怎么切换? 有以......
    地图,只需选择路线,即可享受地图应用间的无感切换。 同时支持移动设备的全生态地址信息发送至车辆,可通过第三方应用分享地理位置,并直接在车机导航。 下车后,车机导航路线可自动流转至手机继续导航(车驾导航切换行走......
    系统调用又是如何实现的呢,就是通过软中断swi指令来进入svc模式,进入到svc模式后当然就能访问硬件啦。 所以我们的应用程序在usr模式想访问硬件,必须切换模式,怎么切换? 有以下两种方式: 1......
    的波特率发生器为独立波特率发生器,   AUXR1=0x80; //切换到P1口   ES=1; //开启串口中断   EA=1; //开启......
    将硬纸板切割成图上的样子,怎么切割我就不用说了吧,呵呵。 (2)组装 第一步,用到的是P003,2块电机支撑板,用于连接和固定TT减速箱电机(以下简称电机)。在开始安装电机之前,大家可以先把P003......
    按照从大到小的原则,我们先把步骤编好,具体每一步里面做什么,可能远不如步骤之间怎么切换衔接来得重要。所以,在这个过程中,我们还可以用注释来替代代码,但别忘了在各种for、case中加上“;”。   最后一步,让我......
    键在SD卡和U盘/音频输入口之间切换。   5、LED状态指示灯,在音频输入状态长亮,在读U盘或SD卡时快闪,在播放歌曲时长亮,在暂停时慢闪。   漫步者C2多媒体音箱怎么使用   漫步者C2是漫......
    一个的打到LCD屏幕上,怎么打?顺序为: 以液晶屏左上角开始,从左往右开始,一个一个颜色点打上去,打到后面没有地方的时候,又开始换行又从左往右打;就比如你打开一个记事本按住某个字符符号不懂, 它会......
    作数在一个字符串中存储多个字符,最多可包括 254 个字符 字符中特殊字符表示 字符 十六进制 含义 示例 $L 或 $l 0A 换行 '$LText', '$0AText......
    为旌科技黄智:小而美的智能AI视觉芯片是怎么炼成的;5月17日,芯原主办的“第十四届松山湖中国IC创新高峰论坛”上,上海为旌科技展示了面向机器人的高性能智慧视觉芯片海山VS839系列芯片,并介......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>