找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2786|回复: 5
收起左侧

简单易用的STM32跑的OS FSC 附源程序

[复制链接]
ID:68814 发表于 2019-9-14 10:58 | 显示全部楼层 |阅读模式
这个OS简单易用,按照手册移植,10分钟搞定,保证1个小时内熟练上手。应该比RTX ,FreeRTOS,RTT等容易上手噢。
2.png
下载下来的资料就两个文件夹和两个txt文档。
第一个文件夹打开,就是核心C文件了,一共4个文件,简洁明了。
1.png
当然,没有手册是不好使的,在说明这个文件夹里有详细的移植手册,跟着做下来就几分钟的事。
3.png


单片机源程序如下:
  1. /*FSC_STOS_V4.9*/
  2. #include "fsc_stos.h"  //使用多任务内核


  3. /* 任务名称任意,此处为方便直观取名Task1-5                        */
  4. /******************************创建任务参数*************************/
  5. void Task1(void); //任务1声明
  6. void Task2(void); //任务2声明
  7. void Task3(void); //任务3声明
  8. void Task4(void); //任务4声明
  9. void Task5(void); //任务5声明

  10. //静态建创任务所需要的栈内存
  11. //#define Task1_StkSize 128  //任务1堆栈大小
  12. //#define Task2_StkSize 128  //任务2堆栈大小
  13. //#define Task3_StkSize 128  //任务3堆栈大小
  14. //#define Task4_StkSize 128  //任务4堆栈大小
  15. //#define Task5_StkSize 128  //任务5堆栈大小

  16. //OSSTK Task1_Stk[Task1_StkSize]; //任务1堆栈
  17. //OSSTK Task2_Stk[Task2_StkSize]; //任务2堆栈
  18. //OSSTK Task3_Stk[Task3_StkSize]; //任务3堆栈
  19. //OSSTK Task4_Stk[Task4_StkSize]; //任务4堆栈
  20. //OSSTK Task5_Stk[Task5_StkSize]; //任务5堆栈
  21. //静态建创任务所需要的栈内存

  22. void OS_MAIN(void)
  23. {
  24.          /*-------------------全局变量及宏定义区------------------------*/



  25.    /*-------------------------------------------------------------*/
  26.          /************************************************************************************/        
  27.          OSInit(); //系统初使化
  28.          /********************************在系统中创建任务***********************************/
  29.          //任务优先级(越大越高,范围:0-OS_MAX_TASKS-1)
  30.         
  31.          //静态创建(需要用户提供内存空间)
  32.          /*                  任务名  任务函数名   栈地址     栈大小      时间片  优先级     任务状态*/
  33. //         OSTaskCreateStatic("Task1", Task1,  Task1_Stk, Task1_StkSize, 1,     1,     TASK_RUNNING); //OS创建任务1
  34. //         OSTaskCreateStatic("Task2", Task2,  Task2_Stk, Task2_StkSize, 1,     2,     TASK_RUNNING); //OS创建任务2
  35. //         OSTaskCreateStatic("Task3", Task3,  Task3_Stk, Task3_StkSize, 1,     5,     TASK_RUNNING); //OS创建任务3
  36. //         OSTaskCreateStatic("Task4", Task4,  Task4_Stk, Task4_StkSize, 1,     4,     TASK_RUNNING); //OS创建任务4
  37. //         OSTaskCreateStatic("Task5", Task5,  Task5_Stk, Task5_StkSize, 1,     5,     TASK_RUNNING); //OS创建任务5
  38.         
  39.          
  40.          //动态创建(系统自动根据栈参数生成空间,注意设置好内存池的大小)
  41.          /*            任务名  任务函数名  栈大小  时间片  任务优先级   任务状态*/
  42.          OSTaskCreate("Task1",  Task1,    128,     1,       4,    TASK_RUNNING); //OS创建任务1
  43.          OSTaskCreate("Task2",  Task2,    128,     1,       6,    TASK_RUNNING); //OS创建任务2
  44.          OSTaskCreate("Task3",  Task3,    128,     1,       5,    TASK_RUNNING); //OS创建任务3
  45.          OSTaskCreate("Task4",  Task4,    128,     1,       5,    TASK_RUNNING); //OS创建任务4
  46.          OSTaskCreate("Task5",  Task5,    128,     1,       3,    TASK_RUNNING); //OS创建任务5
  47.          /***********************************************************************************/
  48.          OSStartUp();//OS开始运行
  49. }


  50. void Task1(void)  //任务1
  51. {         
  52.         while(1)
  53.          {
  54.                  
  55.                  OS_delayMs(1000);//任务延时函数,单位:ms
  56.          }        
  57. }

  58. void Task2(void) //任务2
  59. {
  60.         while(1)
  61.          {
  62.                  
  63.                  OS_delayDHMS(0,0,0,1);//OS_delayMs()的变形函数,以日时分秒为输入参数
  64.          }                        
  65. }

  66. void Task3(void) //任务3
  67. {        
  68.         while(1)
  69.          {
  70.          
  71.                  OS_delayMs(0);//=0为无限延时,不占cpu资源
  72.          }                        
  73. }

  74. void Task4(void) //任务4
  75. {
  76.         while(1)
  77.          {               
  78.                
  79.                  OS_delayMs(0);
  80.          }
  81. }

  82. void Task5(void) //任务5
  83. {
  84.         while(1)
  85.          {        
  86.         
  87.                  OS_delayMs(0);
  88.          }
  89. }
  90. /********************************************************************************************************************/

复制代码

全部资料51hei下载地址:
FSC_STOS_V4.9.7内核.7z (1.92 MB, 下载次数: 52)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:20672 发表于 2019-9-14 16:06 | 显示全部楼层
ucos精简版???
回复

使用道具 举报

ID:68814 发表于 2019-9-14 18:12 | 显示全部楼层
wdliming 发表于 2019-9-14 16:06
ucos精简版???

有兴趣可以查看下内核实现原理,我不是作者。
欢迎一起学习交流。
回复

使用道具 举报

ID:428438 发表于 2019-9-16 10:33 | 显示全部楼层
就喜欢简单点的,这样可以能入门一点。谢谢楼主。
回复

使用道具 举报

ID:68814 发表于 2019-9-17 21:19 | 显示全部楼层
leo2002zhang 发表于 2019-9-16 10:33
就喜欢简单点的,这样可以能入门一点。谢谢楼主。

这个就是很简单  看一会就上手了
回复

使用道具 举报

ID:537547 发表于 2019-11-6 11:18 | 显示全部楼层
感谢!!!!!对我很有帮助
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表