找回密码
 注册
关于网站域名变更的通知
查看: 230|回复: 2
打印 上一主题 下一主题

51单片机RTX-51TINY多任务操作系统工程模板

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-9-5 09:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
>51单片机多任务系统的工程模板<9 T% O# }# b/ u  h7 Q7 Z
8 r, e# ^0 m+ p: {! [/ A3 ?

5 `! T+ j' W  E1 @. u+ |& mRTX51-Tiny是一种实时操作系统(RTOS),可以用它来建立多个任务同时执行的程序。0 a0 S7 o. S" y8 L

7 O) \' \+ J3 P0 z" v4 D$ ^6 q

( ?+ d; V+ p0 S7 `; l

$ H  y( q/ C/ {4 U
最大任务数6 j! r' J( v, f% J( B, u7 o
16
, r( E' Z, N+ \( f' p7 S
最大活动任务5 X8 c, R, c9 H" n4 ~, S& q
16
* f# [* l8 |, S* e7 C) @8 X7 v
代码空间需求
( I! T6 i2 q4 S5 p6 T" O
900字节最大
% K- r- I, }6 ^  l$ C. C
数据空间需求
$ E+ ~; o* i) B6 P% }. u  a/ V  \
7字节
# R2 N5 T+ O4 p$ W8 l$ m
栈空间需求
/ ?5 ?1 k1 s9 V2 A
3字节/任务
8 [$ Y  Y+ b( g" r; w8 q/ H
外部RAM需求
8 f* G# c+ _; A# K2 j5 j; O2 k5 o# y
0字节' g' G7 ^  H& c+ p. N& g# N# }3 ]
定时器) ?; C/ D# I% F2 I, X6 i  j
0
- y" z+ f. O" {6 O* {- s2 ]
系统时钟因子
& C) ?# a- T6 s! O9 }
1000~65535
4 _8 m, ~. I# E  n/ }
中断等待8 n$ V- I" Z% }+ F- {" d3 c: @
20个周期或更少/ x) v, C5 o5 s9 C" l: q$ D
上下文切换时间
/ ]; U2 \1 g8 H( D7 \
100~700个周期* ?$ X5 C) H8 c* l4 }" m6 `# D

+ O7 |% c+ T' x5 }& f# `8 f" X单片机源程序如下:
  • #include "main.h"
  • int flag = 0;   //LED标志位
  • /*--------------------------------------------------------------------------------------------
  •     初始任务
  • --------------------------------------------------------------------------------------------*/
  • void task_create(void) _task_ 0
  • {
  •     UGL_Delay(0);       //延时没有用(防止编译器警告)
  •         os_create_task(1);  //创建任务1
  •         os_create_task(2);  //创建任务2
  •         os_delete_task(0);  //删除任务0
  • }
  • /*--------------------------------------------------------------------------------------------
  •     LED任务
  • --------------------------------------------------------------------------------------------*/
  • void task_led(void) _task_ 1
  • {
  •   while(233)
  •   {
  •     if(flag)
  •     {
  •         os_wait2(K_IVL,50); //系统延时50个Tick
  •         LED = ~LED;
  •     }
  •     else
  •     {
  •         LED = 1;
  •     }
  •   }
  • }
  • /*--------------------------------------------------------------------------------------------
  •     按键任务
  • --------------------------------------------------------------------------------------------*/
  • void task_switch(void) _task_ 2
  • {
  •     while(233)
  •     {
  •         if(!S2) //下降沿生效
  •         {
  •             while(!S2);
  •             flag = 1;
  •         }
  •         if(!S3) //下降沿生效
  •         {
  •             while(!S3);
  •             flag = 0;
  •         }
  •         os_wait2(K_IVL,1);  //系统延时1个Tick
  •     }
  • }
    ( [2 d* M# X+ Q3 x/ N

3 B7 R- H5 A# l9 N+ ~0 |+ A

该用户从未签到

2#
发表于 2022-9-5 10:16 | 只看该作者
本帖最后由 Crash 于 2022-9-10 10:05 编辑 1 g& A) u- [0 v+ d- ?2 A3 p

* F+ T+ r; }0 j8 _. x/ j多多说一些自己的实际经验,相关知识,分享一些好的制作例子。

该用户从未签到

3#
发表于 2022-9-5 11:29 | 只看该作者
本帖最后由 风吹过后 于 2022-9-10 09:39 编辑 , F" d9 D' L( m2 o; _' L& y9 o
+ _) ~* R0 k  ~6 b: u$ F
大佬发表的帖子,感觉很厉害,很棒。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-29 04:38 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表