• 大小: 6KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: 其他
  • 标签: MSP430  c  源代码  

资源简介

MSP430单片机的实时多任务操作系统c源代码

资源截图

代码片段和文件信息

/*************************************************************************************/
/** Author:linger                                                                   **/
/** Email:ling_re@sina.com                                                          **/
/** This file is part of the ‘RTX-430‘ Real-Time Operating System Source Package    **/
/*************************************************************************************/
/**                                                                                 **/
/** 千万注意:                                                                      **/
/**              在中断程序开始处一定要调用 “ RTX_TS|=RTX_TS_DELAY; “ 这一语句      **/
/**                                                                                 **/
/*************************************************************************************/

#include  

#define  TIMESHARING        5        /* 每个任务的最大运行时间       */
#define  RTX_STACKFREE      40       /* 当前任务的最小堆栈空间       */
#define  RTX_MAXTASKN       10       /* 最大任务数                   */
#define  INT_CLOCK          10000    /* 每个定时中断的时钟数         */
#define  RAMBOTTOM          0x300    /* 最大 RAM 数                  */
#define  RAMTOP             0x9FF    /* 最大 RAM 数                  */

#define  RTX_TIMESHARING    (0 - TIMESHARING)
#define  RTX_CLOCK          INT_CLOCK
#define  RTX_RAMBOTTOM      RAMBOTTOM/2*2               
#define  RTX_RAMTOP         RAMTOP/2*2              

#define  K_SIG              1
#define  K_TMO              2
#define  SIG_EVENT          4
#define  TMO_EVENT          8
#define  K_READY            16
#define  K_ACTIVE           32
#define  K_ROBIN            64
#define  K_IVL              128

#define  B_WAITSIG          0
#define  B_WAITTIM          1
#define  B_SIGNAL           2
#define  B_TIMEOUT          3
#define  B_READY            4
#define  B_ACTIVE           5
#define  B_ROBIN            6
#define  B_INTERVAL         7

#define  RTX_TS_REQ         1
#define  RTX_TS_DELAY       2         /* 进入中断处理程序后,要将 RTX_TS 中的该位置为 1 */

unsigned int    STKP[RTX_MAXTASKN];   /* 指向前一任务堆栈的尾地址 */
unsigned char   RTX_RobinTime;        /* 每个任务最长的运行周期 */
unsigned char   TASK_Current;         /* 当前运行的任务号 */
unsigned char   RTX_TS;
unsigned int    RTX_SP;

unsigned int    SAVE_SR;
unsigned int    SAVE_PC;

struct
{
   char  time;
   char  st;
}
STATE[RTX_MAXTASKN];

void timer0_comm(void);
void clear_watchdog(void);
void os_system_init(void);
unsigned char task_switch(void);
unsigned char os_system_start(void);
unsigned char os_delete_task(unsigned char task_no);
unsigned char os_send_signal(unsigned char task_no);
unsigned char isr_send_signal(unsigned char task_no);
unsigned char os_clear_signal(unsigned char task_no);
unsigned char os_wait(unsigned type unsigned timeout);
unsigned char os_create_task(unsigned int proc_name unsigned char task_no);

extern int  getsp(void);              // G

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        5205  2001-11-06 04:04  Rtx.prj
     文件         939  2001-11-06 03:36  Rtx_in.s43
     文件       15924  2001-11-06 04:03  Rtx430.c

评论

共有 条评论