>51單片機多任務系統的工程模板<
RTX51-Tiny是一種實時操作系統(RTOS),可以用它來建立多個任務同時執行的程序。
參 數
| 范 圍
| 最大任務數
| 16
| 最大活動任務
| 16
| 代碼空間需求
| 900字節最大
| 數據空間需求
| 7字節
| 棧空間需求
| 3字節/任務
| 外部RAM需求
| 0字節
| 定時器
| 0
| 系統時鐘因子
| 1000~65535
| 中斷等待
| 20個周期或更少
| 上下文切換時間
| 100~700個周期
|
單片機源程序如下:- #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
- }
- }
復制代碼
Keil代碼下載:
51_RTOS_P.zip
(60.13 KB, 下載次數: 53)
2022-4-23 23:17 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|