![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UCOS
大大大大熊ovo
这个作者很懒,什么都没留下…
展开
-
UCOSIII相关API函数的使用
UCOSIII的任务创建和任务相关函数的使用,主要由任务的创建和删除,任务挂起和恢复,时间片轮转调度UCOSIII任务的创建和删除UCOSIII是多任务系统,那么肯定要能创建任务,创建任务就是将任务控制块,任务堆栈、任务代码等联系在一起,并且初始化任务控制块的相应字段。在UCOSIII系统中通过函数OSTaskCreate()来创建任务,OSTaskCreate()函数原型如下。调用OSTaskC原创 2016-08-03 15:41:32 · 2787 阅读 · 0 评论 -
UCOSIII中断和时间管理
在使用UCOS操作系统的时候我们对于中断服务程序的处理就要做一点修改,这个和我们不是用操作系统的时候是不同的。我们在对某些任务做延时的时候会使用到一些延时函数,中断管理和时间管理。中断管理UCOSIII中断处理过程STM32中是支持中断的,中断是一个硬件机制,主要用来向CPU通知一个异步事件发生了,这时CPU就会将当前CPU寄存器值入栈,然后转而执行中断服务程序,在CPU执行中断服务程序的时候有可原创 2016-08-04 16:59:26 · 4069 阅读 · 0 评论 -
UCOSIII简介于移植
UCOSIII简介UCOSIII是一个可裁剪,可固化,可剥夺的多任务系统。相比于前代产品其最大任务数目没有限制,优先级相同的任务数目没有限制且有无需调度的的发送机制。UCOSIII文件在移植UCOSIII之前我们需要准备两样东西:一个是UCOSIII的源码,一个是Micrium官方在STM32F1xx上移植好的工程文件。在Micrium文件夹中有四个文件夹1、EvaBoards文件夹这个文件夹原创 2016-08-01 17:16:31 · 1756 阅读 · 0 评论 -
UCOSIII软件定时器
在学习单片机的时候会使用定时器来做很多定时任务,这个定时器是单片机自带的,也就是硬件定时器,在UCOSIII中提供了软件定时器定时器的工作模式定时器其实就是一个递减技术器,当计数器递减到0的时候就会触发一个动作,这个动作就是回调函数,当定时器完成技术时就会自动调用这个回调函数。因此我们可以使用这个回调函数来完成一些设计。比如,定时10秒后打开某个外设等等,在毁掉函数中应该避免任何可以阻塞或者删除定原创 2016-08-05 14:43:44 · 2012 阅读 · 0 评论 -
UCOSIII任务管理
多仍无操作系统最主要的就是对任务的管理,包括任务的创建、挂起、删除和调度等。UCOSIII任务管理主要包括下面几个部分:1.UCOSIII启动和初始化2.任务状态3.任务控制块4.任务堆栈5.任务就绪表6.任务调度和切换UCOSIII启动和初始化 在使用UCOSIII的时候要按照一定的顺序初始化并打开UCOSIII: ·调用CPU_Init()初始化UCOSIII原创 2016-08-02 15:44:04 · 2987 阅读 · 0 评论 -
UCOSIII信号量和互斥信号量
在UCOSIII中可能会偶多个任务会访问共享资源,因此信号量最早用来控制任务存取共享资源,现在信号量也被用来实现任务间的同步以及任务和ISP同步。在可剥夺的内核中,当任务独占式使用共享资源的时候,会低优的任务高于高级优先任务运行的现象,这个现象叫做优先级反转,未来了解决这个优先级反转的问题,UCOSIII引入可互斥信号量这个概念。信号量信号量像是一种上锁机制,代码必须获得对应的钥匙才能继续执行,一原创 2016-08-08 10:58:12 · 2702 阅读 · 0 评论 -
UCOSIII消息传递
有时候一个任务和另外一个或者几个任务进行“交流”,这个“交流”就是消息的传递,也称之为任务通信,在UCOSIII中消息可以通过消息队列作为中介发布给任务,也可以直接发布给任务,本章我们就讲解一个UCOSIII的消息传递,本章分为如下几个部分。消息队列消息一半包含:指向数据的指针,表明数据长度的变量和记录消息发布时刻的时间戳,指针指向的可以是一块数据区或者甚至是一个函数,消息的内容必须一直保持可见原创 2016-08-09 16:50:00 · 4947 阅读 · 1 评论 -
UCOSIII事件标志组
我们可以使用信号量来完成任务同步,这里我们再讲解一下另外一种任务同步的方法,就是事件标志组,事件标志组用来解决一个恩物和多个事件之间的同步事件标志组有时候一个任务可能需要和多个事件同步,这个时候就需要使用事件标志组。事件标志组与任务之间有两种同步机制:“或”同步和“与”同步,当任何一个事情发生,任务都被同步的同步机制是“或”同步;需要所有的事件都发生任务才会被同步的同步机制是“与”同步,这两种同原创 2016-08-10 10:55:52 · 5018 阅读 · 3 评论 -
UCOSIII存储管理
作为一个操作系统,内存管理是其必备的功能,在UCOSIII中也有内存管理模块,使用内存管理模块可以动态的分配和释放内存,这样可以高效的使用“昂贵”的内存资源内存管理简介内存管理是一个操作系统必备的系统模块,我们在用VC++或者Visual Studio学习C语言的时候会用malloc()和free()这两个函数来申请和释放内存。我们使用Keil MDK编写STM32程序的时候就可以使用malloc原创 2016-08-10 16:41:49 · 3083 阅读 · 0 评论