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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
>51单片机多任务系统的工程模板<: I) A- L  m" n. _8 p( V

) x1 `) w. X9 Q$ [3 _/ Q+ z
4 l9 @$ W& f0 l  c0 U7 T  W. pRTX51-Tiny是一种实时操作系统(RTOS),可以用它来建立多个任务同时执行的程序。
1 y$ }0 f( Q  [+ N) O  s: D: r4 T8 s. p( E6 R, J

! ?$ E1 t! M7 p

7 S* Y2 e1 ]/ p5 z. j* u, n
最大任务数
/ T7 T1 X! _4 E+ T* I- w( L) [* U
16
8 ~# v! j4 D, x0 Z3 u- m: N5 [& B
最大活动任务, u% z* G: |# v* x- x
16  ?8 f5 g" b9 q6 Q8 [
代码空间需求# x- W: Y3 r% Q% X6 ?' x
900字节最大2 H% [" C" o# N
数据空间需求9 S- ?4 @: Q. T9 ~5 x# [
7字节- T. ~, e2 t8 P8 _! d" H
栈空间需求2 u9 d8 ~) M- v* `- h
3字节/任务  n& I0 L; l9 `  B
外部RAM需求- N, b" A7 B: T; f6 O
0字节
: _$ {0 b- n" ]% s0 J
定时器
6 _# Y, {: c: w4 C, Q8 Z/ X- e& r! q
0
0 K, I" C3 j+ r1 t6 A- H
系统时钟因子
" v+ G5 h/ x- v: C/ k8 z$ N7 ?
1000~65535: U* k( r8 \: N( \+ i# l
中断等待
+ Q! r! G% _# C; h! p
20个周期或更少& J  P8 {$ t0 h! t+ b7 ?* Z: u
上下文切换时间
6 W8 \4 y) s% d/ |4 {
100~700个周期
9 G6 H3 Q, q# Z' @1 m
" F' r/ c) _2 ]/ 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
  •     }
  • }
    9 v$ R. c7 ]8 E+ s" Y2 w! v0 i$ {

/ i1 N5 |. l9 {

该用户从未签到

2#
发表于 2022-9-5 10:16 | 只看该作者
本帖最后由 Crash 于 2022-9-10 10:05 编辑 ) |4 a2 y: e: {9 n& }2 E

5 d# o+ T( P3 C# a) ]多多说一些自己的实际经验,相关知识,分享一些好的制作例子。

该用户从未签到

3#
发表于 2022-9-5 11:29 | 只看该作者
本帖最后由 风吹过后 于 2022-9-10 09:39 编辑 * u7 }0 c4 d0 V

! ?5 q2 @* c0 P, h+ z3 ]. l大佬发表的帖子,感觉很厉害,很棒。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-8 12:04 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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