
Ucos-ii
文章平均质量分 92
rayylee
awk 'BEGIN{O="o"~"o";o="O"=="O";O+=+o;o_+=o""o;for(;++_o!=o_-O;)O_=O_"%c";printf(O_,o_*(o_-o)+O+O,o_*(o_-O)-O,o_*o_,o_*o_,o_*(o_-o)-O,o_*(o_-O)+O,o_*(o_-O)+O,o_-o)}'
展开
-
OSTaskSuspend()——挂起任务
挂起一个任务描述:调用此函数去挂起一个任务,如果传送到OSTaskSuspend()的任务的优先级是要挂起的任务或者是 OS_PRIO_SELF,那么这个任务将被挂起。参数: prio:需要挂起任务的优先级。如果指定OS_PRIO_SELF,那么这个任务将自己挂起,再发生再 次调度。返回:OS_NO_ERR:如果请求的任务被挂原创 2012-06-24 10:38:00 · 10271 阅读 · 2 评论 -
OSSemPost()--发出一个信号量
INT8U OSSemPost (OS_EVENT *pevent)描述:发出一个信号量参数:pevent :指向事件控制块结合目标信号量的指针返回:OS_NO_ERR 调用成功,信号量发出* OS_SEM_OVF 信号量数目超出范围. 也就是说你发送的信号量多于在either*原创 2012-07-17 15:44:56 · 10473 阅读 · 0 评论 -
OSSemPend()--等待一个信号量
OSSemPend (OS_EVENT *pevent, INT16U timeout, INT8U *err) 等待一个信号量函数(信号量指针、允许等待的时钟节拍、代码错误指针)描述:等待一个信号量参数:pevent:指向事件控制块结合目标信号量的指针 timeout:定时超时选项(以时钟节拍为单位),如果非零,你的任务将等待原创 2012-07-17 15:14:13 · 25047 阅读 · 1 评论 -
msg_p!=(void*) 0 --消息邮箱(点滴学习)
void *msg_p; //定义消息邮箱为一个void类型的指针,也就是可以指向任何类型...if(msg_p!=(void*) 0) //请求消息,如果消息邮箱不为空则执行下面函数{ PC_DispStr(8,y1, msg_p, //显示收到的消息 DISP_BGND_BLACK+DISP_FG原创 2012-06-28 11:36:10 · 1847 阅读 · 0 评论 -
OSTimeGet()--获取当前时间
获取当前时间 描述:获得32位跟踪时钟节拍数的计数器,获得当前值 参数:无 返回:OStime的当前值 备注:在访问OStime的时候,中断是关的,因为大多数八位处理器上增加或者拷贝一定32位数,要数条指令,中途不能被打断在μCOS-II系统中,无论时钟节拍何时发生,μC/OS-Ⅱ都会将一个32位的计数器加1,这个计数器在用户调用OSStart()初始化多任务和4,294,转载 2012-06-28 09:41:40 · 11278 阅读 · 0 评论 -
OSTimeDlyResume()--恢复一个延迟任务(取消任务延时)
恢复一个延迟任务描述:这个函数通过调用OSTimeDly() 或者 OSTimeDlyHMSM()去恢复一个延时的任务,它不能唤醒 等待超时的任务。这个情况任务将把它看成等待超时,除非你指定这种效果, 同时,不能恢复调用OSTimeDlyHMSM() 延时超过65535个时钟节拍的任务,就是说,如果转载 2012-06-28 08:58:09 · 3812 阅读 · 0 评论 -
OSTaskDelReq()--请求删除任务函数
本文就该函数做了细致,深入的解答。并借用网友的例子和邵贝贝书上的例子,讲解了一般的问题和常用的用法。带了自己的感想和思考。希望对自己有帮助。做此记录。在ucos中这个函数很常用,个人觉着,使用OSTaskDel,是有风险的,因为他会删除那些变量。比如下面的一篇文章的部分内容。慎用OSTaskDel(OS_PRIO_SELF);OSTaskSuspend(OS_PRIO_SELF);转载 2012-06-25 19:51:42 · 5052 阅读 · 1 评论 -
OSTaskStkInit_FPE_x86()--浮点仿真任务栈初始化函数(分段寻址的地址转换为线性地址)
段地址:段内偏移量寻址方案在 uC/OS-II 随书光盘中针对 80x86 (不带硬件浮点运算单元)的移植源码中,有一个浮点仿真任务栈初始化函数 OSTaskStkInit_FPE_x86(),其中将分段寻址的地址转换为线性地址时,使用了如下的代码:[code=cpp]seg = FP_SEG(*pptos);off = FP_OFF(*pptos);lin_tos = ((I转载 2012-06-25 21:38:59 · 1955 阅读 · 0 评论 -
OSSchedLock()--上锁函数
作用:调度上锁函数描述:阻止再次调度发生,它让你准备执行任务切换的时候才进行任务切换参数:无因为任务调度时一般都是通过OSTIMEDLY()来实现。在这个函数中会对当前的任务执行挂起。同时查看任务调度表中是否有优先级合适的就绪任务。如果当前任务运行时调用OSSchedLock()给调度器上锁,这样再调用OSTIMEDLY()时就会把当前任务挂起。但由于调度器上锁而不能使其他任务得到CP原创 2012-06-24 10:26:16 · 6869 阅读 · 0 评论 -
UCOS中断函数的编写
在以uC/OS为操作系统的项目中,系统可能要处理各种不同的中断请求,如果某个中断处理程序需要调用uC/OS的各种Post函数向任务发出消息,那么uC/OS建议中断服务程序的写法是:1、保存全部CPU寄存器2、调用OSIntEnter或OSIntNesting直接加13、执行用户代码做中断服务4、调用OSIntExit5、恢复所有CPU寄存器6、执行中断返回指令暂转载 2013-08-29 07:55:10 · 5340 阅读 · 0 评论