真正的將ucosii移植到89s52上,讓256ram也能運行ucosii,供大家學習探討。
0.png (6.66 KB, 下載次數: 83)
下載附件
2019-1-23 15:03 上傳
單片機源程序如下:
- #include "reg51.h"
- #include "ucos_ii.h"
- /****************************
-
- 1.最大可用任務3個,再多data空間不足。
- 2.可用服務只有OS_time 函數,其他服務無法使用,ram開銷太多
- 3.最大任務優先級8級
- 4.所有任務堆棧一樣,stksize。
- 5.模擬堆棧與系統堆棧共用,系統堆棧滿增,模擬堆棧滿減
- 6.任務堆棧只能放data區 ,其他變量放idata
- 7.僅供學習研究,不足之處請指教。
- 9.編譯模式,小模式
- 使用單片機89s52
- RAM :256
-
- ****************************/
- #define task1prio 2
- #define task2prio 4
- sbit P10 =P1^0;
- sbit P11 =P1^1;
- INT8U data task1stk[stksize];
- INT8U data task2stk[stksize];
- void max(void)reentrant ;
- void task1(void);
- void task2(void);
- void main(void)
- {
- OSInit();
- OSTaskCreate(task1,(void* )0,task1stk,task1prio);
- OSTaskCreate(task2,(void* )0,task2stk,task2prio);
- OSStart();
-
- }
- void task1(void)
- {
- while(1)
-
- {
- //P10 = !P10;
- max();
- OSTimeDlyHMSM(0,0,1,0);
- }
- }
- void task2(void)
- {
- while(1)
-
- {
-
- P11 = !P11;
- OSTimeDlyHMSM(0,0,2,0);
- }
- }
- void max(void)reentrant
- {
- INT32U i;
- i++;
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
89s52-ucosii.7z
(152.46 KB, 下載次數: 46)
2019-1-23 10:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|