12.2.6 任务调用的发送信号函数
发送信号函数os_send_signal主要用于向一个任务发送信号,其函数原型如下。
char os_send_signal(unsigned char taskid);
其中,参数taskid指向接收信号任务的任务号。发送信号函数os_send_signal的返回值如果为0,则表示信号发送成功;如果为-1,则表示指向的任务不存在。使用发送信号函数os_send_signal的程序示例如下。
include<RTX51TNY.h>
void task_ossendsignal(void)_task_3
{
……
os_send_signal(4);//向任务4发送信号
……
}
发送信号函数os_send_signal在向taskid所指定的任务发送信号时,如果该任务正在等待信号,则信号到达后,任务再次执行。如果任务正在执行其他操作,则信号将被存储在所访问的任务信号标志中。使用函数os_send_signal的程序示例如下。发送信号函数os_send_signal不同于isr_send_signal函数,它不能被中断函数所调用。