主页 文档 下载 莱特 沙龙 English

RTESM文档
RTEMS精彩应用
RTEMS版权说明
其他RTOS
ARM/DSP专区
AVR/FPGA/PCB
嵌入式文件系统
ARM AVR仿真器DIY
莱特电子工作室
联系我们
 


Signal 函数

作者 Ray

RTEMS版权所有,转载请注明来源www.rtems.net,作者Ray

16.4: 函数

16.4.1 : SIGNAL_CATCH-建立 ASR

函数原型:

rtems_status_code rtems_signal_catch(

rtems_asr_entry asr_handler,

rtems_mode mode

);

 

返回值代表的状态:

RTEMS_SUCCESSFUL- 总是成功的

 

描述:

该函数为调用者建立一个异步信号处理例程 (ASR) 。 asr_handler 参数指明了 ASR 的入囗函数。如果 asr_handler 是空值,那么ASR无效,所有相关的信号将会被清除。 被送到和有病的 ASR 的一个任务的任何信号被丢弃。 mode参数描述了 ASR 的执行模式。模式的设定可以参考任务执行模式一节。当转入 ASR 时,执行模式将按照mode制定的模式执行。

 

16.4.2 : SIGNAL_SEND-向任务发送信号

函数原型:

rtems_status_code rtems_signal_send(

rtems_id id,

rtems_signal_set signal_set

);

 

返回值代表的状态:

RTEMS_SUCCESSFUL- 信号成功地送出

RTEMS_INVALID_ID- 任务 ID标识无效

RTEMS_INVALID_NUMBER- 信号集为空

RTEMS_NOT_DEFINED- ASR无效

 

描述:

该函数向ID标识的任务发送信号。signal_set参数包含的发送的信号集合。

如果调用者发送信号给无效的 ASR,那么将返回RTEMS_NOT_DEFINED。如果接受的ASR有效但是被屏蔽掉了,那么信号捕捉后会被挂起,直到ASR重新有效。如果接受者 ASR 有效且使能,那么信号捕捉后,接受任务执行时就会执行 ASR。

 

注意:

向任务发送信号不会改变任务的执行状态。任务不会因为异步信号而阻塞(要不怎么叫做异步信号),也不会因为向阻塞任务发送异步信号而唤醒该任务。

将信号发送给远端的任务会向远端节点产生对应的信号发送请求。

 

 
嵌入式软硬件设计咨询 • 8位 16位 32位 64位 RISC DSP
主页文章 方案 产品 下载反馈
 
2004 RTEMS.NET 版权所有