zoukankan      html  css  js  c++  java
  • RTX51实时系统(1)

    /***************************************************
     *作     者:温子祺
     *联系方式:wenziqi@hotmail.com
     *说    明 :RTX-51实时系统(1)   
     ***************************************************

     

     1.       定时器滴答中断

    RTX-51 Tiny实时系统用标准8051的定时器0(模式1)生产一个周期性的中断。该中断就是RTX-51

    Tiny的定时滴答(Timer Tick)。库函数中的超时和事件间隔就是基于该定时滴答来测量的。

         默认情况下,RTX-5110000个机器周期产生一个滴答中断,因此,对于运行在12MHz的标准8051来说,滴答的周期是10ms,频率是100Hz12MHz/12/1000)。该值可以在CONF_TNY.A51配置文件中修改。

    2.       任务

    RTX51-Tiny实时系统本质上就是一个任务切换器,建立一个RTX-51 Tiny程序,就是建立一个

    或多个任务函数的应用程序。

    任务创建可以使用关键字 _task_”来创建任务。每个任务都有正确的状态,如运行、就绪、等待、删除、超时等状态,要注意的是某个时刻只有一个任务处于运行态。

    RTX-51 Tiny支持最多16个任务,而每一个任务的格式一定要是如下格式:

    void function(void) _task_ TASKID

    {

          while(1)

          {

               //其他代码

    }

     

    }

    每一个任务必须加上“_task_”关键字,TASKID的有效取值范围是0~15。所有的任务必须是循环重复的,任务不能够返回。

     

    3.       消息机制

    RTX-51 Tiny实时系统由于是RTX-51 Full的一个子集,不具有邮箱系统、信号量等操作,只具

    备消息机制方式,主要给任务发消息。通过内核提供的服务,任务或中断服务子程序可以将一条消息放入消息队列。同样,一个或多个任务可以通过内核服务从消息队列中得到消息。

     

    4.       os_wait函数

       os_wait函数可以使一个任务等待一个或多个事件。通过对os_wait函数输入不同的参数,可以让os_wait函数等待指定的时间超时、等待消息、等待制定的时间,参数分别为K_TMOK_SIGK_IVLos_wait可以返回时,返回值表明了发生什么事件,RDY_EVENT表示任务的就绪标志被置位,SIG_EVENT表示收到一个信号,TMO_EVENT表示超时完成或时间间隔到达。

     

    5.       编写规则

    l          确保加载了RTX51TNY.H头文件。

    l          不要建立main函数,RTX-51 Tiny有自己的main函数。

    l          程序里必须至少包含一个任务函数。

    l          中断必须有效(EA=1),在临界区如果要禁止中断时一定要小心。

    l          程序必须至少调用一个RTX-51 Tiny库函数(如os_wait),否则不能够连接到RTX51-Tiny库函数。

    l          Task 0是程序中首先要执行的函数,必须在任务0中调用os_create_task函数以运行其余任务。

    l          任务函数必须是从不退出或返回的。任务必须用一个while(1)或类似的结构进行循环。用os_delete_task函数可以停止某一个运行的任务。

    必须在Keil中指定RTX51-Tiny,或者在连接器中指定。

  • 相关阅读:
    codeforces C. Cows and Sequence 解题报告
    codeforces A. Point on Spiral 解题报告
    codeforces C. New Year Ratings Change 解题报告
    codeforces A. Fox and Box Accumulation 解题报告
    codeforces B. Multitasking 解题报告
    git命令使用
    shell简单使用
    知识束缚
    php 调用系统命令
    数据传输方式(前端与后台 ,后台与后台)
  • 原文地址:https://www.cnblogs.com/wenziqi/p/1769337.html
Copyright © 2011-2022 走看看