|
這個(gè)OS簡(jiǎn)單易用,按照手冊(cè)移植,10分鐘搞定,保證1個(gè)小時(shí)內(nèi)熟練上手。應(yīng)該比RTX ,FreeRTOS,RTT等容易上手噢。
2.png (6.51 KB, 下載次數(shù): 70)
下載附件
2019-9-14 10:55 上傳
下載下來(lái)的資料就兩個(gè)文件夾和兩個(gè)txt文檔。
第一個(gè)文件夾打開(kāi),就是核心C文件了,一共4個(gè)文件,簡(jiǎn)潔明了。
1.png (2.62 KB, 下載次數(shù): 74)
下載附件
2019-9-14 10:55 上傳
當(dāng)然,沒(méi)有手冊(cè)是不好使的,在說(shuō)明這個(gè)文件夾里有詳細(xì)的移植手冊(cè),跟著做下來(lái)就幾分鐘的事。
3.png (7.13 KB, 下載次數(shù): 83)
下載附件
2019-9-14 10:55 上傳
單片機(jī)源程序如下:
- /*FSC_STOS_V4.9*/
- #include "fsc_stos.h" //使用多任務(wù)內(nèi)核
- /* 任務(wù)名稱任意,此處為方便直觀取名Task1-5 */
- /******************************創(chuàng)建任務(wù)參數(shù)*************************/
- void Task1(void); //任務(wù)1聲明
- void Task2(void); //任務(wù)2聲明
- void Task3(void); //任務(wù)3聲明
- void Task4(void); //任務(wù)4聲明
- void Task5(void); //任務(wù)5聲明
- //靜態(tài)建創(chuàng)任務(wù)所需要的棧內(nèi)存
- //#define Task1_StkSize 128 //任務(wù)1堆棧大小
- //#define Task2_StkSize 128 //任務(wù)2堆棧大小
- //#define Task3_StkSize 128 //任務(wù)3堆棧大小
- //#define Task4_StkSize 128 //任務(wù)4堆棧大小
- //#define Task5_StkSize 128 //任務(wù)5堆棧大小
- //OSSTK Task1_Stk[Task1_StkSize]; //任務(wù)1堆棧
- //OSSTK Task2_Stk[Task2_StkSize]; //任務(wù)2堆棧
- //OSSTK Task3_Stk[Task3_StkSize]; //任務(wù)3堆棧
- //OSSTK Task4_Stk[Task4_StkSize]; //任務(wù)4堆棧
- //OSSTK Task5_Stk[Task5_StkSize]; //任務(wù)5堆棧
- //靜態(tài)建創(chuàng)任務(wù)所需要的棧內(nèi)存
- void OS_MAIN(void)
- {
- /*-------------------全局變量及宏定義區(qū)------------------------*/
- /*-------------------------------------------------------------*/
- /************************************************************************************/
- OSInit(); //系統(tǒng)初使化
- /********************************在系統(tǒng)中創(chuàng)建任務(wù)***********************************/
- //任務(wù)優(yōu)先級(jí)(越大越高,范圍:0-OS_MAX_TASKS-1)
-
- //靜態(tài)創(chuàng)建(需要用戶提供內(nèi)存空間)
- /* 任務(wù)名 任務(wù)函數(shù)名 棧地址 棧大小 時(shí)間片 優(yōu)先級(jí) 任務(wù)狀態(tài)*/
- // OSTaskCreateStatic("Task1", Task1, Task1_Stk, Task1_StkSize, 1, 1, TASK_RUNNING); //OS創(chuàng)建任務(wù)1
- // OSTaskCreateStatic("Task2", Task2, Task2_Stk, Task2_StkSize, 1, 2, TASK_RUNNING); //OS創(chuàng)建任務(wù)2
- // OSTaskCreateStatic("Task3", Task3, Task3_Stk, Task3_StkSize, 1, 5, TASK_RUNNING); //OS創(chuàng)建任務(wù)3
- // OSTaskCreateStatic("Task4", Task4, Task4_Stk, Task4_StkSize, 1, 4, TASK_RUNNING); //OS創(chuàng)建任務(wù)4
- // OSTaskCreateStatic("Task5", Task5, Task5_Stk, Task5_StkSize, 1, 5, TASK_RUNNING); //OS創(chuàng)建任務(wù)5
-
-
- //動(dòng)態(tài)創(chuàng)建(系統(tǒng)自動(dòng)根據(jù)棧參數(shù)生成空間,注意設(shè)置好內(nèi)存池的大小)
- /* 任務(wù)名 任務(wù)函數(shù)名 棧大小 時(shí)間片 任務(wù)優(yōu)先級(jí) 任務(wù)狀態(tài)*/
- OSTaskCreate("Task1", Task1, 128, 1, 4, TASK_RUNNING); //OS創(chuàng)建任務(wù)1
- OSTaskCreate("Task2", Task2, 128, 1, 6, TASK_RUNNING); //OS創(chuàng)建任務(wù)2
- OSTaskCreate("Task3", Task3, 128, 1, 5, TASK_RUNNING); //OS創(chuàng)建任務(wù)3
- OSTaskCreate("Task4", Task4, 128, 1, 5, TASK_RUNNING); //OS創(chuàng)建任務(wù)4
- OSTaskCreate("Task5", Task5, 128, 1, 3, TASK_RUNNING); //OS創(chuàng)建任務(wù)5
- /***********************************************************************************/
- OSStartUp();//OS開(kāi)始運(yùn)行
- }
- void Task1(void) //任務(wù)1
- {
- while(1)
- {
-
- OS_delayMs(1000);//任務(wù)延時(shí)函數(shù),單位:ms
- }
- }
- void Task2(void) //任務(wù)2
- {
- while(1)
- {
-
- OS_delayDHMS(0,0,0,1);//OS_delayMs()的變形函數(shù),以日時(shí)分秒為輸入?yún)?shù)
- }
- }
- void Task3(void) //任務(wù)3
- {
- while(1)
- {
-
- OS_delayMs(0);//=0為無(wú)限延時(shí),不占cpu資源
- }
- }
- void Task4(void) //任務(wù)4
- {
- while(1)
- {
-
- OS_delayMs(0);
- }
- }
- void Task5(void) //任務(wù)5
- {
- while(1)
- {
-
- OS_delayMs(0);
- }
- }
- /********************************************************************************************************************/
復(fù)制代碼
全部資料51hei下載地址:
FSC_STOS_V4.9.7內(nèi)核.7z
(1.92 MB, 下載次數(shù): 53)
2019-9-14 14:40 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|