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