基本的TINY函数
char os_create_task(task_id);
char os_delete_task(task_id);
char os_send_signal(task_id);
char isr_send_signal(task_id); //中断向任务发一个信号
char os_clear_signal(task_id);
char os_running_task_id(void); //得到正在执行的任务的ID号
char os_wait(event_sel,ticks,dummy);//等待时间片和信号来启动这个任务
char os_wait1(event_sel);
char os_wait2(event_sel,ticks);
新增加的函数
void os_swich_task(); //挂起正在执行的任务
void os_set_ready (unsigned char taskid);
void isr_set_ready (unsigned char taskid); //设置下一个就绪的任务
void os_reset_inverval ( ticks); //重新设置时间片间隙
Example: //for os_reset_inverval (100);
void maintask (void) _task_ 0 {
os_create_task (1);
while (1) {
event = os_wait2 (K_SIG | K_IVL, 100);
switch (event) {
case TMO_EVENT:
a = event;
break;
case SIG_EVENT:
b = event;
os_reset_inverval (100); // correct interval time on a signal event
break;
}
}
}
文章评论(0条评论)
登录后参与讨论