- 博客(3)
- 收藏
- 关注
原创 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 258
原创 UC/OSIII -2- 裸机系统与多任务系统
一、裸机系统 裸机系统包括 轮询系统 和 前后台系统 1.1 轮询系统 弊端:若跑到一个时间久的循环中容易丢掉触发事件 int main(void) { /* 硬件相关初始化 */ HardWareInit(); /* 无限循环 */ for (;;) { /* 处理事情 1 */ DoSomethin1(); /* 处理事情 2 */ DoSomething2(); /* 处理事情 3 */ DoSomething3(); }
2020-09-07 14:59:25 179
原创 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 185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人