找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13018|回復: 12
打印 上一主題 下一主題
收起左側(cè)

好用的輕量級單片機操作系統(tǒng)cocox CoOS STM32平臺強烈推薦

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:202417 發(fā)表于 2017-5-19 10:21 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在做stm32單片機的時候,想讓單片機跑一種輕量級操作系統(tǒng)于是找到CoOS,內(nèi)核只有974個字節(jié),分享給大家。但是教程是英文哦,英語不好的建議用金山詞霸的畫譯功能輔助閱讀。帶上一個LED使用例子。


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

  3. OS_STK taskA_stk[128];  //建立一個任務(wù)棧A
  4. OS_STK taskB_stk[128];  //建立一個任務(wù)棧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個系統(tǒng)節(jié)拍 任務(wù)進入等待態(tài)(TASK_WAITING) 延時是10*100ms 等于1S 就是一秒鐘一次?
  31.                 GPIO_ResetBits(GPIOB,GPIO_Pin_5);
  32.                 CoTickDelay(10);  //延時N個系統(tǒng)節(jié)拍 任務(wù)進入等待態(tài)(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個系統(tǒng)節(jié)拍 任務(wù)進入等待態(tài)(TASK_WAITING)  延時是5*100ms 等于500 m?
  41.                 GPIO_ResetBits(GPIOE,GPIO_Pin_5);
  42.                 CoTickDelay(5);  //延時N個系統(tǒng)節(jié)拍 任務(wù)進入等待態(tài)(TASK_WAITING) 延時是5*100ms 等于500 m?
  43.         }
  44. }

  45. int main(void)
  46. {

  47.         CoInitOS (); //操作系統(tǒng)初始化
  48.         
  49.         LED_GPIO_Init();
  50.         
  51. /*
  52.                  [IN1]創(chuàng)建任務(wù)的函數(shù)體
  53.                  [IN2]任務(wù)函數(shù)體的傳入?yún)?shù)列表
  54.                  [IN3]任務(wù)優(yōu)先級
  55.                  [IN4]任務(wù)棧起始地址
  56.                  [IN5]任務(wù)堆大小
  57. ……………………

  58. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
源碼: Coos-LED.zip (345.94 KB, 下載次數(shù): 156)
教程: CooCox-CoOS-User-Guide.pdf (993.98 KB, 下載次數(shù): 153)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏17 分享淘帖 頂2 踩

相關(guān)帖子

回復

使用道具 舉報

沙發(fā)
ID:169559 發(fā)表于 2017-5-20 12:28 | 只看該作者
不錯,值得學習一下!
回復

使用道具 舉報

板凳
ID:212401 發(fā)表于 2017-6-18 23:04 | 只看該作者
好資料,認真學習下
回復

使用道具 舉報

地板
ID:267839 發(fā)表于 2018-4-25 15:47 | 只看該作者
已經(jīng)下載了,學習
回復

使用道具 舉報

5#
ID:524782 發(fā)表于 2019-4-29 21:32 | 只看該作者
學習學習
回復

使用道具 舉報

6#
ID:545040 發(fā)表于 2019-5-22 20:31 | 只看該作者
好資料,認真學習下
回復

使用道具 舉報

7#
ID:20672 發(fā)表于 2019-9-11 22:03 | 只看該作者
謝謝分享
回復

使用道具 舉報

8#
ID:496651 發(fā)表于 2019-12-31 22:20 來自手機 | 只看該作者
好資料! 謝謝分享
回復

使用道具 舉報

9#
ID:295789 發(fā)表于 2020-3-3 12:53 | 只看該作者
怎么很少人使用coOS?
回復

使用道具 舉報

10#
ID:70490 發(fā)表于 2020-6-4 21:38 | 只看該作者
正在學習STM32,下載學習下
回復

使用道具 舉報

11#
ID:489990 發(fā)表于 2020-6-25 10:26 | 只看該作者
先學習一下
回復

使用道具 舉報

12#
ID:431838 發(fā)表于 2021-1-31 09:48 | 只看該作者
好資料,認真學習下;謝謝分享!
回復

使用道具 舉報

13#
ID:716103 發(fā)表于 2021-1-31 11:05 | 只看該作者
cocox已經(jīng)消亡了,不要再花時間在上面了(只是為了學習,不是應(yīng)用的除外)?梢匀タ纯磃reeRtos或者是RT-Thread,這兩個比較有生命力。RT-Thread是國產(chǎn)RTOS,并且免費開源。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表