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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
>51单片机多任务系统的工程模板<
- m+ b; |8 a, T' [+ Z& X0 z' }3 N# h6 F4 t# X, f3 J

1 S2 ^- U: y* _, S1 s( HRTX51-Tiny是一种实时操作系统(RTOS),可以用它来建立多个任务同时执行的程序。
2 H$ K2 ^: h  U: T7 ]
- N7 e* {$ O9 s; A
5 w7 r2 z6 @6 ]+ L6 u0 U+ M
+ H8 ]+ j# q6 `( P
最大任务数
& l/ K6 N5 v( I4 N  P
16! e. V! F! K& F$ s. x7 H
最大活动任务* h1 x+ R9 ^# y
16
# V3 n, P6 k& a2 c( ^; I3 I4 M
代码空间需求
; M: W  B5 s; g1 u7 Y0 Y/ O- d
900字节最大
" R& D. I, z% p8 {! X+ e2 V, O/ _- G6 j# `
数据空间需求
5 B6 F+ K6 U4 D: Q
7字节& U; M* [) K8 E: n3 N
栈空间需求
6 K# q! Q5 N8 m' Y
3字节/任务" P8 F! }  m! n- U" A6 Y
外部RAM需求6 t0 R3 |2 k8 l
0字节
1 r$ R+ h7 y5 F  x* |( _9 ^
定时器
% {. H5 |0 e& ~1 m9 G
00 C. [% U. e) S
系统时钟因子
9 T( Q7 i5 r3 ~
1000~65535& o; d* T6 h# F/ ?: z/ l
中断等待" ~; F9 {4 f5 u$ {3 ^4 C
20个周期或更少! o  H* }0 g' F: s$ p
上下文切换时间
7 b# t: |2 n2 t. B: W: ]
100~700个周期# G/ z& P5 m. J  R
% U5 @/ c( N$ v. r( x2 U' [
单片机源程序如下:
  • #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 R  [/ q$ T# q) C7 L; L

* a" @- s+ H( O( R6 `% H

该用户从未签到

2#
发表于 2022-9-5 10:16 | 只看该作者
本帖最后由 Crash 于 2022-9-10 10:05 编辑
# ^1 O9 G$ x; V: b$ a/ }' v0 j% T# i3 V. m6 T, s  a; u1 C
多多说一些自己的实际经验,相关知识,分享一些好的制作例子。

该用户从未签到

3#
发表于 2022-9-5 11:29 | 只看该作者
本帖最后由 风吹过后 于 2022-9-10 09:39 编辑
! t; B. v# G& X. c
; D* N: E) `" \9 I* Q大佬发表的帖子,感觉很厉害,很棒。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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