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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
>51单片机多任务系统的工程模板<7 ?' B  R, ^) P: v

7 N% P& _- T* R& M4 v& t" s
# M1 V1 b" T& U" YRTX51-Tiny是一种实时操作系统(RTOS),可以用它来建立多个任务同时执行的程序。) q  x! t+ g: I3 o/ k, @+ s  a6 \
4 e8 ^+ }( I$ r/ w
- _7 R5 G! D- H2 v$ t2 d; R- \( G
' R* B. t1 K( H
最大任务数5 P; D! h  b" K0 e- a( S7 P  V
16
0 l: f1 {& n. q" |: J+ d. i5 Z+ c
最大活动任务
) R- d: q, B/ d
16
; @7 ?9 S& q. [/ f- ^! L, d
代码空间需求
4 [" c. r7 H' N! o; J; U! t& G
900字节最大
# E: u# O3 t5 o2 _
数据空间需求
- h9 A) [0 V2 j0 Q4 @$ M7 ?
7字节
- ?- l' b! t8 ~" D: ~4 j% o" d0 @
栈空间需求
% z$ V& _  [0 q0 ~0 L
3字节/任务7 Z1 r9 I3 e9 e# B% Q7 L" `
外部RAM需求
2 k5 [) n7 a! Q( N
0字节! Y8 [! M5 e: d5 c
定时器
! b- c2 I2 z+ e8 u* U1 s
0: i+ L# T' }$ @# H2 t
系统时钟因子
. D. U' c# c. X. V
1000~65535
+ U5 q1 Y5 O, T- n* B$ ?
中断等待
" U% K/ r5 X0 O
20个周期或更少9 I% Y$ p) w0 b3 C# X2 U
上下文切换时间
/ g2 V( _$ y5 U# ^' C
100~700个周期5 i1 u, f. l) @1 j, s

+ L9 D# o* W6 v' l. o3 Q单片机源程序如下:
  • #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 D9 }& k. @' \, S" ~& ?

0 K! L- ]# Q, z% O

该用户从未签到

2#
发表于 2022-9-5 10:16 | 只看该作者
本帖最后由 Crash 于 2022-9-10 10:05 编辑 + g5 E, r2 d! u7 }
- p, R  k+ F7 r- I8 \' K, j
多多说一些自己的实际经验,相关知识,分享一些好的制作例子。

该用户从未签到

3#
发表于 2022-9-5 11:29 | 只看该作者
本帖最后由 风吹过后 于 2022-9-10 09:39 编辑 / o1 W1 P  ]) m7 \

( K1 {3 D' Z. ^! b' {% e大佬发表的帖子,感觉很厉害,很棒。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-3 15:07 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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