#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "includes.h"
#define start_task_prio 3
#define start_stk_size 512
cpu_stk start_task_stk[start_stk_size];
os_tcb start_task_tcb;
void start_task(void *params);
#define led0_task_prio 4
#define led0_stk_size 128
cpu_stk led0_task_stk[led0_stk_size];
os_tcb led0_task_tcb;
void led0_task(void *params);
#define led1_task_prio 5
#define led1_stk_size 128
cpu_stk led1_task_stk[led1_stk_size];
os_tcb led1_task_tcb;
void led1_task(void *params);
#define float_task_prio 6
#define float_stk_size 128
__align(8) cpu_stk float_task_stk[float_stk_size];//__align(8)對齊
os_tcb float_task_tcb;
void float_task(void *params);
void start_task(void *params)
void led0_task(void *params)
}void led1_task(void *params) }
void float_task(void *params)
}int main(void)
1、os_opt opt引數
os_opt opt引數
os_opt_time_hmsm_strict
嚴格模式
os_opt_time_hmsm_non_strict
非嚴格模式
下面示例用法錯誤,os_opt_time_hmsm_strict模式下,cpu_int32u milli 引數範圍0~999
#if後面需要是乙個表示式,如果表示式為1則編譯#if下面的**。
#ifdef後面需要的只是這個值,有沒有用#define定義,並不關心define的這個值是0還是1。
(cpu_stk_size) float_task_stk / 10, ===>錯,錯,錯
(cpu_stk_size) float_task_stk, ===>錯,錯,錯
uCOSIII移植補充
上篇寫到ucosiii的移植,由於移植的是教程寫好的檔案到開發板,沒發現到一些問題。今天移植到另乙個開發板的時候出現系統卡死在osstarthighrdy 函式的問題。現在就再次分析一下移植過程。我們將rct6開發板上的ucosiii移植到c8t6的板子上時,會發現系統一直沒有啟動,led沒用閃爍。...
UCOSIII 移植筆記(一)
這篇博文為本人ucosiii移植筆記第一篇 先說一下ucosiii micrium在2009年推出了ucosiii,相對於之前的ucosii版本,在效能上有了進一步的提公升,主要是支援時間片輪排程,極短的關中斷事件等。可剝奪多工管理 什麼是可剝奪多工管理呢?查相關資料,意思就是這個系統總是在執行當前...
UCOSIII中系統時鐘的移植
freertos的 寫得真的像是一坨坨的 我一點看的慾望都沒有。相比之下,ucosiii的 寫得就好看多了,我看著看著就看回了ucosiii,今天我重點看了移植部分與滴答定時器有關的內容,下面我就來表達一下我是如何理解這個部分內容的,本篇文章主要分為如下兩個部分 systick 是一 個 24 位的...