|
真正的將ucosii移植到89s52上,讓256ram也能運行ucosii,供大家學(xué)習(xí)探討。
0.png (6.66 KB, 下載次數(shù): 83)
下載附件
2019-1-23 15:03 上傳
單片機(jī)源程序如下:
- #include "reg51.h"
- #include "ucos_ii.h"
- /****************************
-
- 1.最大可用任務(wù)3個,再多data空間不足。
- 2.可用服務(wù)只有OS_time 函數(shù),其他服務(wù)無法使用,ram開銷太多
- 3.最大任務(wù)優(yōu)先級8級
- 4.所有任務(wù)堆棧一樣,stksize。
- 5.模擬堆棧與系統(tǒng)堆棧共用,系統(tǒng)堆棧滿增,模擬堆棧滿減
- 6.任務(wù)堆棧只能放data區(qū) ,其他變量放idata
- 7.僅供學(xué)習(xí)研究,不足之處請指教。
- 9.編譯模式,小模式
- 使用單片機(jī)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黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
89s52-ucosii.7z
(152.46 KB, 下載次數(shù): 46)
2019-1-23 10:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|