|
>51單片機(jī)多任務(wù)系統(tǒng)的工程模板<
RTX51-Tiny是一種實(shí)時(shí)操作系統(tǒng)(RTOS),可以用它來建立多個(gè)任務(wù)同時(shí)執(zhí)行的程序。
參 數(shù)
| 范 圍
| 最大任務(wù)數(shù)
| 16
| 最大活動(dòng)任務(wù)
| 16
| 代碼空間需求
| 900字節(jié)最大
| 數(shù)據(jù)空間需求
| 7字節(jié)
| 棧空間需求
| 3字節(jié)/任務(wù)
| 外部RAM需求
| 0字節(jié)
| 定時(shí)器
| 0
| 系統(tǒng)時(shí)鐘因子
| 1000~65535
| 中斷等待
| 20個(gè)周期或更少
| 上下文切換時(shí)間
| 100~700個(gè)周期
|
單片機(jī)源程序如下:- #include "main.h"
- int flag = 0; //LED標(biāo)志位
- /*--------------------------------------------------------------------------------------------
- 初始任務(wù)
- --------------------------------------------------------------------------------------------*/
- void task_create(void) _task_ 0
- {
- UGL_Delay(0); //延時(shí)沒有用(防止編譯器警告)
-
- os_create_task(1); //創(chuàng)建任務(wù)1
- os_create_task(2); //創(chuàng)建任務(wù)2
- os_delete_task(0); //刪除任務(wù)0
- }
- /*--------------------------------------------------------------------------------------------
- LED任務(wù)
- --------------------------------------------------------------------------------------------*/
- void task_led(void) _task_ 1
- {
- while(233)
- {
- if(flag)
- {
- os_wait2(K_IVL,50); //系統(tǒng)延時(shí)50個(gè)Tick
- LED = ~LED;
- }
- else
- {
- LED = 1;
- }
- }
- }
- /*--------------------------------------------------------------------------------------------
- 按鍵任務(wù)
- --------------------------------------------------------------------------------------------*/
- 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); //系統(tǒng)延時(shí)1個(gè)Tick
- }
- }
復(fù)制代碼
Keil代碼下載:
51_RTOS_P.zip
(60.13 KB, 下載次數(shù): 53)
2022-4-23 23:17 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|