UC/OSIII 笔记
暴躁的河马
成为一只河马
展开
-
UC/OSIII -3- 任务的定义与任务切换的实现
一、任务的代码表现形式通常使用一个死循环包含需要执行的任务代码1 void Task (void *parg)2 {3 /* 任务主体,无限循环且不能返回 */4 for (;;) {5 /* 任务主体代码 */6 }7 }二、创建任务的需要注意的事项2.1 定义任务堆栈* 1. 裸机在运行对于堆栈的分配问题我们并不关心,除了全局变量外,其他变量放入栈中* 2. 在RTOS需要严格小心分配堆栈2.1.1 裸机系统中的栈分配1 Stack_Size EQU 0x0原创 2020-09-08 14:43:10 · 273 阅读 · 0 评论 -
UC/OSIII -2- 裸机系统与多任务系统
一、裸机系统裸机系统包括 轮询系统 和 前后台系统1.1 轮询系统弊端:若跑到一个时间久的循环中容易丢掉触发事件int main(void){ /* 硬件相关初始化 */ HardWareInit(); /* 无限循环 */ for (;;) { /* 处理事情 1 */ DoSomethin1(); /* 处理事情 2 */ DoSomething2(); /* 处理事情 3 */ DoSomething3(); }原创 2020-09-07 14:59:25 · 219 阅读 · 0 评论 -
UC/OSIII -1- 新建基本工程及对应文件的作用
一、新建 KEIL 工程` 1. 新建一个 关于 UC/OSIII 的KIEL工程,文件结构如下:· 2. 关于对应文件的作用· 3. 移植芯片是 STM32F103ZET6· 内核:Cortex-M3 · RAM: 64KB ,ROM:512KB · 引脚数:144二、修改时钟频率· 在时钟相关文件 system_ARMCM3.c 的开头,有一段代码定义了系统时钟的大小为25M· 在软件仿真中必须与其的始终频率一致,所以将默认的 12Mhz 改为 25Mhz#define _原创 2020-09-07 13:59:07 · 209 阅读 · 0 评论