标题: 好用的轻量级单片机操作系统cocox CoOS STM32平台强烈推荐 [打印本页]

作者: CLJTWENFIV    时间: 2017-5-19 10:21
标题: 好用的轻量级单片机操作系统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, 下载次数: 156)
教程: CooCox-CoOS-User-Guide.pdf (993.98 KB, 下载次数: 153)



作者: sfd123    时间: 2017-5-20 12:28
不错,值得学习一下!
作者: ccccccccs    时间: 2017-6-18 23:04
好资料,认真学习下
作者: chaoking    时间: 2018-4-25 15:47
已经下载了,学习
作者: blutter    时间: 2019-4-29 21:32
学习学习
作者: simonhah    时间: 2019-5-22 20:31
好资料,认真学习下
作者: wdliming    时间: 2019-9-11 22:03
谢谢分享
作者: 1233qq    时间: 2019-12-31 22:20
好资料! 谢谢分享
作者: 芯源飞扬    时间: 2020-3-3 12:53
怎么很少人使用coOS?
作者: fengye615    时间: 2020-6-4 21:38
正在学习STM32,下载学习下

作者: 没鼻子的猪    时间: 2020-6-25 10:26
先学习一下
作者: WZQ3    时间: 2021-1-31 09:48
好资料,认真学习下;谢谢分享!
作者: yangalex    时间: 2021-1-31 11:05
cocox已经消亡了,不要再花时间在上面了(只是为了学习,不是应用的除外)。可以去看看freeRtos或者是RT-Thread,这两个比较有生命力。RT-Thread是国产RTOS,并且免费开源。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1