《2022年RTX实时操作系统相关函数运用 .pdf》由会员分享,可在线阅读,更多相关《2022年RTX实时操作系统相关函数运用 .pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、isr_evt_set 原型#include void isr_evt_set ( U16 event_flags, /* Bit pattern of event flags to set */ OS_TID task ); /* The task that the events apply to */ 描述isr_evt_set通过函数参数为任务设置事件标志。该函数只设置在参数event_flags上 对应位为 1 的事件标志。isr_evt_set位于 RL-RTX 中,原型在rtl.h中定义。注意:只能从 IRQ 中断函数调用isr_sem_set,而且不能通过FIQ 函数调用。当 i
2、sr_evt_set被频繁调用的时候,导致了太多的计时中断,并且os_clock_demon 任务调度执行频繁。这就造成了任务还没运行s_evt_wait_o,另外的一个isr_evt_set就被调度,即同一个任务有两个isr_evt_set函数。当然,这样一个事件就丢失了,因为事件标志没有被加入对象。返回值isr_evt_set函数没有返回值。参考os_evt_clr, os_evt_set, os_evt_wait_and, os_evt_wait_or示例#include void timer1 (void) _irq . . isr_evt_set (0 x0008, tsk1); .
3、 . 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - os_evt_wait_or 原型#include OS_RESULT os_evt_wait_or ( U16 wait_flags, /* Bit pattern of events to wait for事件等待的位模式 */ U16 timeout ); /* Length of time to wait for event事件等待的时间长度*/ 描述os_evt_w
4、ait_or函数能等待在参数wait_flags 中被指定发生的所有的事件。函数等等在参数wait_flags 中相应位为 1 的事件。函数能访问多达16 个不同的事件。能用 timeout 设置预约时间,预约时间之后即使没有一个事件发生,函数也必须返回。可使用除了0 xFFFF 之外的预约时间 , 如果设置 timeout为 0 xFFFF ,则表示一个不确定的预约时间。预约时间由系统时间衡量。当至少一个列在 wait_flags 的事件发生或预约时间到时,os_evt_wait_or函数 返回。os_evt_wait_or函数在 RL-RTX 库中。其原型定义在rtl.h.函数库中。注意每
5、一事件都有其自己的16 位的等待标志。返回值os_evt_wait_or函数返回一个表明事件发生或中止的值。返回值描述OS_R_EVT 至少有一个列在wait_flags中的标志已被设置。OS_R_TMO 预约时间到。参考os_evt_get , os_evt_wait_and示例#include void task1 (void) _task OS_RESULT result; result = os_evt_wait_or (0 x0003, 500); if (result = OS_R_TMO) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - printf(Event wait timeout.n); else printf(Event received.n); . . 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -
限制150内