STM32已經將操作系統移植好,直接修改自己需要做的任務即可~
單片機源程序如下:
- /**
- ******************************************************************************
- * @file main.c
- * @author fire
- * @version V1.0
- * @date 2013-xx-xx
- * @brief os 單任務 測試
- ******************************************************************************
- * @attention
- *
- * 實驗平臺:野火 iSO STM32 開發板
- *
- ******************************************************************************
- */
-
- #include "includes.h"
- OS_TCB StartUp_TCB; //定義任務控制塊
- CPU_STK StartUp_Stk[STARTUP_TASK_STK_SIZE]; //定義任務堆棧
- /**
- * @brief 主函數
- * @param 無
- * @retval 無
- */
- int main(void)
- {
- OS_ERR err;
- /* 板級初始化 */
- BSP_Init();
- /* 初始化"uC/OS-III"內核 */
- OSInit(&err);
-
- /*創建任務*/
- OSTaskCreate((OS_TCB *)&StartUp_TCB, // 任務控制塊指針
- (CPU_CHAR *)"StartUp", // 任務名稱
- (OS_TASK_PTR )Task_Start, // 任務代碼指針
- (void *)0, // 傳遞給任務的參數parg
- (OS_PRIO )STARTUP_TASK_PRIO, // 任務優先級
- (CPU_STK *)&StartUp_Stk[0], // 任務堆棧基地址
- (CPU_STK_SIZE)STARTUP_TASK_STK_SIZE/10, // 堆棧剩余警戒線
- (CPU_STK_SIZE)STARTUP_TASK_STK_SIZE, // 堆棧大小
- (OS_MSG_QTY )0, // 可接收的最大消息隊列數
- (OS_TICK )0, // 時間片輪轉時間
- (void *)0, // 任務控制塊擴展信息
- (OS_OPT )(OS_OPT_TASK_STK_CHK |
- OS_OPT_TASK_STK_CLR), // 任務選項
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
2、uCOS-III-LED(多任務).zip
(598.5 KB, 下載次數: 32)
2017-6-26 09:08 上傳
點擊文件名下載附件
移植完成程序
|