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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
>51单片机多任务系统的工程模板</ B4 a! m* `. E
, C8 C7 \' p- s9 O0 E5 t

6 s+ ?; u- U. f8 A. Q* dRTX51-Tiny是一种实时操作系统(RTOS),可以用它来建立多个任务同时执行的程序。
1 H/ s' i% i/ R  A: k# R" C  _3 I
  d+ |5 I2 m  j
% {, H& G6 w& J

1 ]! T0 a$ G: n
最大任务数
( k2 S1 b8 J5 z% [" o8 ^
16
1 s1 J: \: T+ F7 ?0 [9 J
最大活动任务
  p4 _& t' D  n+ x& |8 S
16$ L2 d7 ^* A$ {8 X
代码空间需求
0 V/ I  [; U/ G1 d
900字节最大
# N3 S7 d5 }# I" }0 j6 V
数据空间需求1 ^% a4 |# A; U! T
7字节
3 Y: T+ r7 M3 R7 S3 R
栈空间需求7 L" x: e9 z6 c  v" W* w# g* J% P
3字节/任务; ]/ Q) P3 x4 A5 i; R: m' _
外部RAM需求. ]" n' H) m* n  O) O, r; [
0字节
1 U+ E" o! N( V7 t
定时器
. B; F1 I. A' z# T6 o
0. }! p: f3 v& t
系统时钟因子
5 l$ x! w2 u, |5 s  d1 \0 S
1000~655359 X; R. S- Q8 {/ X
中断等待* H) I/ n( ^. V; s
20个周期或更少& W! B" t8 H* F; [# U
上下文切换时间
0 r/ Z  u! a, a
100~700个周期! P* p9 {* |5 l2 x+ T" |

, S4 p8 ~1 v! v! Z6 A% T( U8 p单片机源程序如下:
  • #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
  •     }
  • }
    % X6 u% b/ y$ a% Z
) D* W& y* {! E; E

该用户从未签到

2#
发表于 2022-9-5 10:16 | 只看该作者
本帖最后由 Crash 于 2022-9-10 10:05 编辑 6 s4 j1 j: f0 J8 `' ~9 i5 L/ \

. K9 A% B3 T* x7 T, F: q: w4 T3 @8 x多多说一些自己的实际经验,相关知识,分享一些好的制作例子。

该用户从未签到

3#
发表于 2022-9-5 11:29 | 只看该作者
本帖最后由 风吹过后 于 2022-9-10 09:39 编辑
6 R& {5 M, J1 {. T$ M. L4 h
9 G8 v+ K2 d8 c+ e/ F大佬发表的帖子,感觉很厉害,很棒。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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