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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
>51单片机多任务系统的工程模板<. n7 E. D( R- g: D

( J7 U" x2 x4 p. X$ x5 `  u6 {( e* h6 z, l+ y3 r
RTX51-Tiny是一种实时操作系统(RTOS),可以用它来建立多个任务同时执行的程序。
  L, A* V& `1 `$ j) z+ K, K$ Q) G2 Q

. k9 \; G0 x1 k: T
! b/ E/ M5 l' P7 ]) m
最大任务数/ \2 x6 u0 W2 D+ w' t9 ^1 [+ S
16+ m) ~9 ]3 g2 v' j1 x4 H
最大活动任务
& P9 u; C5 F0 c5 a
168 J% g8 ?* v; {, I" \" G
代码空间需求
; g$ N7 [& K$ Q
900字节最大
3 f  H8 Q6 X7 s( r0 F
数据空间需求% R$ s( d0 m2 F' `; h
7字节
* \. Z; x" [# ^5 |: u+ X3 {+ G
栈空间需求; p, F% W! }5 o9 q* v( L; E
3字节/任务( c( g" U+ `; p' Y
外部RAM需求
1 y0 o5 j) N/ g3 n" M2 |
0字节8 m; R( s! B2 z' Z, f
定时器
3 x2 A% E2 w3 J, J/ O! [; U$ h
0& s( A' T1 n4 a2 T
系统时钟因子& g( a$ v6 ^, B: }7 n2 s% X2 l, D5 j
1000~65535
8 c" |5 M: x4 z5 x
中断等待
! q2 @) p* w/ }7 j
20个周期或更少4 c( y, R- U0 g+ k3 g8 a2 R, V( Y% p4 X
上下文切换时间3 |% I* j* M1 K* Z
100~700个周期" E8 ?" a# Y0 v0 S, H: g5 ]

  _& M: J# M/ X3 H7 d4 O, c( v+ [单片机源程序如下:
  • #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
  •     }
  • }
    1 T9 Z4 ~* t1 V, o

, M- Z+ u$ s! {1 `8 s

该用户从未签到

2#
发表于 2022-9-5 10:16 | 只看该作者
本帖最后由 Crash 于 2022-9-10 10:05 编辑
( d: E' c& ~0 U5 [- p0 X- M# t8 }: L/ Y8 M: Q! ?
多多说一些自己的实际经验,相关知识,分享一些好的制作例子。

该用户从未签到

3#
发表于 2022-9-5 11:29 | 只看该作者
本帖最后由 风吹过后 于 2022-9-10 09:39 编辑
4 B$ ?5 t. {8 P1 R7 T, D: Y. v% S8 e$ G! F( |3 k
大佬发表的帖子,感觉很厉害,很棒。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-12 07:39 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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