|
最近在做stm32單片機(jī)的時(shí)候,想讓單片機(jī)跑一種輕量級(jí)操作系統(tǒng)于是找到CoOS,內(nèi)核只有974個(gè)字節(jié),分享給大家。但是教程是英文哦,英語(yǔ)不好的建議用金山詞霸的畫(huà)譯功能輔助閱讀。帶上一個(gè)LED使用例子。
0.png (67.81 KB, 下載次數(shù): 240)
下載附件
2017-5-19 15:23 上傳
單片機(jī)源程序如下:
- #include <CoOS.h>
- #include "stm32f10x.h"
- OS_STK taskA_stk[128]; //建立一個(gè)任務(wù)棧A
- OS_STK taskB_stk[128]; //建立一個(gè)任務(wù)棧B
- void LED_GPIO_Init(void)
- {
-
- GPIO_InitTypeDef Weiqi_GPIO_InitStru;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO,ENABLE);
-
- Weiqi_GPIO_InitStru.GPIO_Pin = GPIO_Pin_5;
- Weiqi_GPIO_InitStru.GPIO_Speed = GPIO_Speed_50MHz;
- Weiqi_GPIO_InitStru.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
- GPIO_Init(GPIOB,&Weiqi_GPIO_InitStru);
-
- Weiqi_GPIO_InitStru.GPIO_Pin = GPIO_Pin_5;
- Weiqi_GPIO_InitStru.GPIO_Speed = GPIO_Speed_50MHz;
- Weiqi_GPIO_InitStru.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
- GPIO_Init(GPIOE,&Weiqi_GPIO_InitStru);
-
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- GPIO_ResetBits(GPIOE,GPIO_Pin_5);
-
- }
- void TaskA(void* pdata)
- {
- for(;;)
- {
- GPIO_SetBits(GPIOB,GPIO_Pin_5);
- CoTickDelay(10); //延時(shí)N個(gè)系統(tǒng)節(jié)拍 任務(wù)進(jìn)入等待態(tài)(TASK_WAITING) 延時(shí)是10*100ms 等于1S 就是一秒鐘一次?
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- CoTickDelay(10); //延時(shí)N個(gè)系統(tǒng)節(jié)拍 任務(wù)進(jìn)入等待態(tài)(TASK_WAITING) 延時(shí)是10*100ms 等于1S 就是一秒鐘一次?
- }
- }
- void TaskB(void* pdata)
- {
- for(;;)
- {
- GPIO_SetBits(GPIOE,GPIO_Pin_5);
- CoTickDelay(5); //延時(shí)N個(gè)系統(tǒng)節(jié)拍 任務(wù)進(jìn)入等待態(tài)(TASK_WAITING) 延時(shí)是5*100ms 等于500 m?
- GPIO_ResetBits(GPIOE,GPIO_Pin_5);
- CoTickDelay(5); //延時(shí)N個(gè)系統(tǒng)節(jié)拍 任務(wù)進(jìn)入等待態(tài)(TASK_WAITING) 延時(shí)是5*100ms 等于500 m?
- }
- }
- int main(void)
- {
- CoInitOS (); //操作系統(tǒng)初始化
-
- LED_GPIO_Init();
-
- /*
- [IN1]創(chuàng)建任務(wù)的函數(shù)體
- [IN2]任務(wù)函數(shù)體的傳入?yún)?shù)列表
- [IN3]任務(wù)優(yōu)先級(jí)
- [IN4]任務(wù)棧起始地址
- [IN5]任務(wù)堆大小
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
源碼:
Coos-LED.zip
(345.94 KB, 下載次數(shù): 156)
2017-5-19 10:20 上傳
點(diǎn)擊文件名下載附件
例程 下載積分: 黑幣 -5
教程:
CooCox-CoOS-User-Guide.pdf
(993.98 KB, 下載次數(shù): 153)
2017-5-19 10:18 上傳
點(diǎn)擊文件名下載附件
教程 下載積分: 黑幣 -5
|
|