找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11314|回复: 12
打印 上一主题 下一主题
收起左侧

好用的轻量级单片机操作系统cocox CoOS STM32平台强烈推荐

  [复制链接]
跳转到指定楼层
楼主
最近在做stm32单片机的时候,想让单片机跑一种轻量级操作系统于是找到CoOS,内核只有974个字节,分享给大家。但是教程是英文哦,英语不好的建议用金山词霸的画译功能辅助阅读。带上一个LED使用例子。


单片机源程序如下:
  1. #include <CoOS.h>
  2. #include "stm32f10x.h"

  3. OS_STK taskA_stk[128];  //建立一个任务栈A
  4. OS_STK taskB_stk[128];  //建立一个任务栈B

  5. void LED_GPIO_Init(void)
  6. {
  7.         
  8.         GPIO_InitTypeDef Weiqi_GPIO_InitStru;
  9.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO,ENABLE);
  10.         
  11.         Weiqi_GPIO_InitStru.GPIO_Pin = GPIO_Pin_5;
  12.         Weiqi_GPIO_InitStru.GPIO_Speed = GPIO_Speed_50MHz;
  13.         Weiqi_GPIO_InitStru.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
  14.         GPIO_Init(GPIOB,&Weiqi_GPIO_InitStru);
  15.         
  16.         Weiqi_GPIO_InitStru.GPIO_Pin = GPIO_Pin_5;
  17.         Weiqi_GPIO_InitStru.GPIO_Speed = GPIO_Speed_50MHz;
  18.         Weiqi_GPIO_InitStru.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
  19.         GPIO_Init(GPIOE,&Weiqi_GPIO_InitStru);
  20.         
  21.   GPIO_ResetBits(GPIOB,GPIO_Pin_5);
  22.   GPIO_ResetBits(GPIOE,GPIO_Pin_5);
  23.         
  24. }


  25. void TaskA(void* pdata)
  26. {
  27.         for(;;)
  28.         {
  29.                 GPIO_SetBits(GPIOB,GPIO_Pin_5);
  30.                 CoTickDelay(10);  //延时N个系统节拍 任务进入等待态(TASK_WAITING) 延时是10*100ms 等于1S 就是一秒钟一次?
  31.                 GPIO_ResetBits(GPIOB,GPIO_Pin_5);
  32.                 CoTickDelay(10);  //延时N个系统节拍 任务进入等待态(TASK_WAITING) 延时是10*100ms 等于1S 就是一秒钟一次?
  33.         }
  34. }

  35. void TaskB(void* pdata)
  36. {
  37.         for(;;)
  38.         {
  39.                 GPIO_SetBits(GPIOE,GPIO_Pin_5);
  40.                 CoTickDelay(5);  //延时N个系统节拍 任务进入等待态(TASK_WAITING)  延时是5*100ms 等于500 m?
  41.                 GPIO_ResetBits(GPIOE,GPIO_Pin_5);
  42.                 CoTickDelay(5);  //延时N个系统节拍 任务进入等待态(TASK_WAITING) 延时是5*100ms 等于500 m?
  43.         }
  44. }

  45. int main(void)
  46. {

  47.         CoInitOS (); //操作系统初始化
  48.         
  49.         LED_GPIO_Init();
  50.         
  51. /*
  52.                  [IN1]创建任务的函数体
  53.                  [IN2]任务函数体的传入参数列表
  54.                  [IN3]任务优先级
  55.                  [IN4]任务栈起始地址
  56.                  [IN5]任务堆大小
  57. ……………………

  58. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
源码: Coos-LED.zip (345.94 KB, 下载次数: 153)
教程: CooCox-CoOS-User-Guide.pdf (993.98 KB, 下载次数: 150)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏17 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:169559 发表于 2017-5-20 12:28 | 只看该作者
不错,值得学习一下!
回复

使用道具 举报

板凳
ID:212401 发表于 2017-6-18 23:04 | 只看该作者
好资料,认真学习下
回复

使用道具 举报

地板
ID:267839 发表于 2018-4-25 15:47 | 只看该作者
已经下载了,学习
回复

使用道具 举报

5#
ID:524782 发表于 2019-4-29 21:32 | 只看该作者
学习学习
回复

使用道具 举报

6#
ID:545040 发表于 2019-5-22 20:31 | 只看该作者
好资料,认真学习下
回复

使用道具 举报

7#
ID:20672 发表于 2019-9-11 22:03 | 只看该作者
谢谢分享
回复

使用道具 举报

8#
ID:496651 发表于 2019-12-31 22:20 来自手机 | 只看该作者
好资料! 谢谢分享
回复

使用道具 举报

9#
ID:295789 发表于 2020-3-3 12:53 | 只看该作者
怎么很少人使用coOS?
回复

使用道具 举报

10#
ID:70490 发表于 2020-6-4 21:38 | 只看该作者
正在学习STM32,下载学习下
回复

使用道具 举报

11#
ID:489990 发表于 2020-6-25 10:26 | 只看该作者
先学习一下
回复

使用道具 举报

12#
ID:431838 发表于 2021-1-31 09:48 | 只看该作者
好资料,认真学习下;谢谢分享!
回复

使用道具 举报

13#
ID:716103 发表于 2021-1-31 11:05 | 只看该作者
cocox已经消亡了,不要再花时间在上面了(只是为了学习,不是应用的除外)。可以去看看freeRtos或者是RT-Thread,这两个比较有生命力。RT-Thread是国产RTOS,并且免费开源。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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