UCOSIII学习
文章平均质量分 70
小湘不喝酒,只为STM32
这个作者很懒,什么都没留下…
展开
-
3.小白初学UCosIII STM32F429 任务的定义与任务切换的实现2
实现任务创建函数任务的栈,任务的函数实体,任务TCB最终需要联系起来才能由系统进行统一调度。那么这个联系的工作就由任务创建函数OSTaskCreate来实现该函数在os_task.c中实现。我们想象一下,我们创建一个任务,需要将一个任务栈以及一个任务控制块以及任务的一个函数主体给联系起来的。那么肯定是需要传递一个参数,传递这些参数。任务的栈,任务的函数主体,任务的TCB块。这些参数是必不可少的。那么我们可以来这里os_task.c中。 #include "os.h"void OSTaskCrea原创 2021-03-13 15:31:28 · 284 阅读 · 0 评论 -
3.小白初学UCosIII STM32F429 任务的定义与任务切换的实现1
我们会创建两个任务,并让这两个任务不断地切换,任务的主体都是让一个变量按照一定的频率翻转,通过 KEIL 的软件仿真功能,在逻辑分析仪中观察变量的波形变化,最终的波形图具体见任务轮流切换波形图。其实,图任务轮流切换波形图 的波形图的效果,并不是真正的多任务系统中任务切换的效果图,这个效果其实可以完全由裸机代码来实现,具体见代码清单: 任务-1。1 /* flag 必须定义成全局变量才能添加到逻辑分析仪里面观察波形2 * 在逻辑分析仪中要设置以 bit 的模式才能看到波形,不能用默认的模拟量3 */原创 2021-03-13 11:39:21 · 1737 阅读 · 6 评论 -
2.小白初学UCosIII STM32F429 裸机系统与多任务系统
5.1.1 轮询系统轮询系统即是在裸机编程的时候,先初始化好相关的硬件,然后让主程序在一个死循环里面不断循环,顺序地做各种事情,大概的伪代码具体见代码清单: 轮询系统伪代码。轮询系统是一种非常简单的软件结构,通常只适用于那些只需要顺序执行代码且不需要外部事件来驱动的就能完成的事情。在代码清单: 轮询系统伪代码 中,如果只是实现 LED 翻转,串口输出,液晶显示等这些操作,那么使用轮询系统将会非常完美。但是,如果加入了按键操作等需要检测外部信号的事件,用来模拟紧急报警,那么整个系统的实时响应能力就不会那么好原创 2021-03-13 10:02:29 · 379 阅读 · 0 评论 -
1.小白初学UCosIII STM32F429 软件仿真
话不多说,上干货!我们来看一下这个图中所有的东西。顺着读一下。上面的Mser是UserSourse:是源码,与硬件无关。Ports:用于存放接口文件,既uC/OS-III 与 CPU连接的文件,也就是我们通常所说的移植文件。想要uC/OS-III在单片机上运行uC/OS-III,这些移植文件必不可少。开始了。点击Keil5新建工程注意 : 路径不要有中文。根据步骤来建立文件夹把工程文件保存在Project里面 命名为:UCOS-III把这两个点上。之后就建立以原创 2021-03-12 17:07:32 · 797 阅读 · 0 评论