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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
>51单片机多任务系统的工程模板<' r* `* y% ~9 v2 _
# x5 z) L; O# G/ w4 J0 ]

" m$ ?' O4 H% M0 }# z  ~, j" f% HRTX51-Tiny是一种实时操作系统(RTOS),可以用它来建立多个任务同时执行的程序。6 c1 H' v8 S& \9 d2 Z6 P7 j

1 S7 z/ a: q. Z) @  a
, p# w) z( I5 F/ B9 C

9 @" }: c' m2 N: n4 ?
最大任务数
& c3 V$ l  v: `/ b
168 a' q% ?8 n; P" x9 N
最大活动任务: z/ b4 ?- t' y, I
16# c* r1 e4 O- E7 |* ?8 D6 }
代码空间需求
8 _6 o5 G& m7 q' L) z+ S
900字节最大
5 g: I7 E- M' B9 g/ t" Z
数据空间需求. H3 T" s5 t) d2 U; s! w
7字节
# ?) {8 Y9 U. ]
栈空间需求/ Q; T+ D9 r- r, x/ Q% h5 a
3字节/任务
" E; N3 I; r/ y* ]: C
外部RAM需求+ n& P* {6 O! W* f
0字节/ y8 _/ M1 |% N% D1 p3 B& v4 j) N
定时器
" ^1 f  h8 A$ v4 z4 y* F# J. d
0( W; x6 J! z! n( H% c/ g
系统时钟因子3 [3 I7 B: a- d3 J6 Z" i
1000~65535. q! J8 [2 U" {7 a8 M. k
中断等待
: [% u8 N- ~! ~1 x2 ^3 F' U
20个周期或更少; P4 A, k5 p, n9 ]  i7 u
上下文切换时间: h" ?( s# `" a' A- _
100~700个周期% E4 R* j( h+ n( Q& n
2 V1 |# i" u5 }. @) J
单片机源程序如下:
  • #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
  •     }
  • }+ J6 B; B& U; m& Q9 ]5 Z
* Q7 I( Q3 i7 v& `/ A

该用户从未签到

2#
发表于 2022-9-5 10:16 | 只看该作者
本帖最后由 Crash 于 2022-9-10 10:05 编辑 2 J/ B% C) J; q

6 ^% \8 w. s: h  S# C8 k# G多多说一些自己的实际经验,相关知识,分享一些好的制作例子。

该用户从未签到

3#
发表于 2022-9-5 11:29 | 只看该作者
本帖最后由 风吹过后 于 2022-9-10 09:39 编辑
* G/ t: x: l' ^1 x/ b* U' y
, A: i0 g+ f7 n, u! [1 P" H0 A大佬发表的帖子,感觉很厉害,很棒。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-23 17:55 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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