首页 RTX51_Tiny_中文手册

RTX51_Tiny_中文手册

举报
开通vip

RTX51_Tiny_中文手册1、isr_send_signal 2、isr_set_ready 概要: #include 概要 #include 3、os_clear_signal 4、os_create_task 概要 #include 概要 #include 5、os_delete_task 6、os_reset_interval 概要 #include 概要 #include 7、os_running_task_id 8、os_send_signal ...

RTX51_Tiny_中文手册
1、isr_send_signal 2、isr_set_ready 概要: #include 概要 #include< rtx51tny.h> 3、os_clear_signal 4、os_create_task 概要 #include< rtx51tny.h> 概要 #include 5、os_delete_task 6、os_reset_interval 概要 #include 概要 #include 7、os_running_task_id 8、os_send_signal 概要 #include 概要 #include   os_set_ready 10、os_switch_task 概要 #include 概要 #include os_wait 12、os_wait1 概要 #include 概要 #include 13、os_wait2 概要 #include 第六章 函数参考 以下部分描述RTX51 Tiny的系统函数。函数依字母顺序排列,分为以下部分: 概要(Summary) 简述程序作用,列出包含的文件,包括它的声明和原型,语法举例,和参数描述。 描述(Description)程序的详细描述,如何使用。 返回值 程序返回值说明。 参阅(see also) 相关程序。 例子 如何正确使用该函数的程序例子中断。 附注:         以os_开头的函数可以由任务调用,但不能由中断服务程序调用。         以isr_开头的函数可以由中断服务程序调用,但不能由任务调用。 1、isr_send_signal 概要: #include char isr_send_signal(unsigned char task_id); /*信号发往的任务*/ 描述: isr_send_signal函数给任务task_id发送一个信号。如果指定的任务正在等待一个信号,则该函数使该任务就绪,但不启动它,信号存储在任务的信号标志中。 附注:         该函数是RTX51 Tiny实时操作系统的一部分,仅包含于PK51中。         该函数仅被中断函数调用。 返回值 成功调用后返回0,如果指定任务不存在,则返回-1。 参阅 os_clear_signal,os_send_signal,os_wait 例子 #include void tst_isr_send_signal(void) interrupt 2 { isr_send_signal(8); /*给任务8发信号*/ } 2、isr_set_ready 概要 #include< rtx51tny.h> char isr_set_ready{ unsigned char task_id};/*使就绪的任务*/ 描述 将由task_id指定的任务置为就绪态。 附注         该函数是RTX51 Tiny的一部分,包含在PK51中。         该函数仅用于中断函数。 返回值 无 例子 #include< rtx51tny.h> void tst_isr_set_ready(void)interrupt 2 { isr_set_ready(1);/*置位任务1的就绪标志*/ } 3、os_clear_signal 概要 #include< rtx51tny.h> char os_clesr_signal(unsigned cahr task_id);/*清除信号的任务*/ 描述 清除由task_id指定的任务信号标志。 附注: 该函数是RTX51 Tiny的一部分,包含在PK51中。 返回值 信号成功清除后返回0,指定的任务不存在时返回-1。 参阅 isr_send_signal,os_send_signal,os_wait 例子 #include< rtx51tny.h> void tst_os_clsar_siganl(void)_task_8 { … os_clear_signal(5); /*清除任务5的信号标志*/ … } 4、os_create_task 概要 #include char os_create_task(unsigned char task_id);/*要启动的任务ID*/ 描述 启动任务task_id,该任务被标记为就绪,并在下一个时间点开始执行。 附注: 该函数是包含在PK51中的RTX51 Tiny的组成部分。 返回值 任务成功启动后返回0,如果任务不能启动或任务已在运行,或没有以task_id定义的任务,返回-1。 参阅 os_delete_task 例子 #include< rtx51tny.h> #include /*用于printf*/ void new_task(void)_task_2 {…} void tst_os_create_task(void)_task_0 { … if(os_create_task(2)) { printf(“couldn’t start task2\n”); } … } 5、os_delete_task 概要 #include char os_delete_task(unsigned char task_id);/*要删除的任务*/ 描述 函数将以task_id指定的任务停止,并从任务列表中将其删除。 附注 该函数是包含在PK51中的RTX51 Tiny的组成部分。 返回值 任务成功停止并删除后返回0。指定任务不存在或未启动时返回-1。 附注 如果任务删除自己,将立即发生任务切换。 参阅 os_create_task 例子 #include #include void tst_os_delete_task(void)_task_0 { … if(os_delete_task(2)) { printf(“couldn’t stop task2\n”); } … } 6、os_reset_interval 概要 #include void os_reset_interval(unsigned char ticks); /*滴答数*/ 描述 用于纠正由于os_wait函数同时等待K_IVL和K_SIG事件而产生的时间问题,在这种情况下,如果一个信号事件(K_SIG)引起os_wait退出,时间间隔定时器并不调整,这样,会导致后续的os_wait调用(等待一个时间间隔)延迟的不是预期的时间周期。允许你将时间间隔定时器复位,这样,后续对os_wait的调用就会按预期的操作进行。 附注: 该函数是包含在PK51中的RTX51 Tiny的组成部分。 返回值 无 例子 #include void task_func(void)_task_4 { … switch(os_wait2(KSIG|K_IVL,100)) { case TMO_EVENT: /*发生了超时,不需要Os_reset_interval*/ break; case SIG_EVCENT: /*收到信号,需要Os_reset_interval*/ os_reset_interval(100); /*依信号执行的其它操作*/ break; } … } 7、os_running_task_id 概要 #include char os_running_task_id(void); 描述 函数确认当前正在执行的任务的任务ID。 附注: 该函数是包含在PK51中的RTX51 Tiny的组成部分。 返回值 返回当前正在执行的任务的任务号,该值为0~15之间的一个数。 例子 #include void tst_os_running_task(void)_task_3 { unsigned char tid; tid=os_running_task_id( ); /*tid=3*/ }   8、os_send_signal 概要 #include char os_send_signal(char task_id);/*信号发往的任务*/ 描述 函数向任务task_id发送一个信号。如果指定的任务已经在等待一个信号,则该函数使任务准备执行但不启动它。信号存储在任务的信号标志中。 附注 该函数是包含在PK51中的RTX51 Tiny的组成部分。 返回值 成功调用后返回0,指定任务不存在时返回-1。 参阅 isr_send_signal,os_clear_signal,os_wait #include void signal_func(void)_task_2 { … os_send_signal(8); /*向8号任务发信号*/ … } void tst_os_send_signal(void)_task_8 { … os_send_signal(2); /*向2号任务发信号*/ … } 9、  os_set_ready 概要 #include char os_set_ready(unsigned char task_id);/*使就绪的任务*/ 描述 将以task_id指定的任务置为就绪状态。 附注: 该函数是包含在PK51中的RTX51 Tiny的组成部分。 返回值 无 例子 #include void ready_func(void)_task_2 { … os_set_ready(1); /*置位任务1的就绪标志*/ … } 10、    os_switch_task 概要 #include char os_switch_task(void); 描述 该函数允许一个任务停止执行,并运行另一个任务。如果调用os_switch_task的任务是唯一的就绪任务,它将立即恢复运行。 附注: 该函数是包含在PK51中的RTX51 Tiny的组成部分。 返回值 无 例子 #include #include void long_job(void)_task_1 { float f1,f2; f1=0.0; while(1) { f2=log(f1); f1+=0.0001; os_switch_task(); /*运行其它任务*/ } } 11、os_wait 概要 #include char os_wait( unsigned char event_sel, /*要等待的事件*/ unsigned char ticks, /*要等待的滴答数*/ unsigned int dammy); /*无用参数*/ 描述 该函数挂起当前任务,并等待一个或几个事件,如时间间隔,超时,或从其它任务和中断发来的信号。参数event_set指定要等待的事件,可以是下表中常数的一些组合。 事 件 描 述 K_IVL 等待滴答值为单位的时间间隔 K_SIG 等待一个信号 K_TMO 等待一个以滴答值为单位的超时   事件可以用竖线符(“|”)进行逻辑或。例如,K_TMO1K_SIG指定任务等待一个超时或者一个信号。 ticks参数指定要等待的时间间隔事件(K_IVL)或超时事件(K_TMO)的定时器滴答数。参数是为了提供与兼容性而设置的,在中并不使用。 附注         该函数是包含在PK中的RTX51 Tiny的组成部分。         请参阅事件一节获得关于K_IVL,K_SIG,K_TMO的更多信息。 返回值 当有一个指定的事件发生时,任务进入就绪态。任务恢复执行时,下表列出的由返回的常数指出使任务重新启动的事件。可能的返回值有: 返 回 值 描 述 RDY_EVENT 表示任务的就绪标志是被或函数置位的。 SIG_EVENT 收到一个信号 TMO_EVENT 超时完成,或时间间隔到 NOT_OK 参数的值无效   参阅 isr_send_signal,isr_set_ready,os_clear_signal,os_reset_interval, os_send_signal,os_set_ready,os_wait1,os_wait2 例子 #include #include void tst_os_wait(void)_task_9 { while(1) { char event; event=os_wait(K_SIG|K_TMO,50.0); switch(event) { default: /*从不发生,该情况*/ break; case TMO_EVENT;/*超时*/ break; /*50次滴答超时*/ case SIG_EVENT; /*收到信号*/ break; } } } 12、os_wait1   概要 #include   char os_wait1(unsigned char event_sel);/*要等待的事件*/ 描述 该函数挂起当前的任务等待一个事件发生。os_wait1是os_wait的一个子集,它不支持os_wait提供的全部事件。参数event_sel指定要等待的事件,该函数只能是K_SIG。 附注:           该函数是包含于PK51中的RTX51Tiny的组成部分。           参见事件一节获得K_IVL,K_SIG和K_TMO的更多信息。 返回值 当指定的事件发生,任务进入就绪态。任务恢复运行时,os_wait1             返回的值表明启动任务的事件,返回值见下面的常数列表:       返 回 值   RDY_EVENT 任务的就绪标志位是被os_set_ready或isr_set_ready置位的 SIG_EVENT 收到一个信号 NOT_OK Event_sel参数的值无效   例子 见os_wait   13、os_wait2 概要 #include char os_wait2(unsigned char event_sel, /*要等待的事件*/ unsigned char ticks); /*要等待的滴答数*/ 描述 函数挂起当前任务等待一个或几个事件发生,如时间间隔,超时或一个从其它任务或中断来的信号。参数event_sel指定的事件可以是下列常数的组合:   Event    描  述 K_IVL 等待以滴答数为单位的时间间隔 K_SIG 等待一个信号 K_TMO 等待以滴答数为单位的超时   事件可以用“|”进行逻辑或。如K_TMO|K_SIG表示任务等待一个超时或一个信号。 参数ticks 指定等待时间间隔(K_IVL)或超时(K_TMO)事件时的滴答数。   附注:           该函数是包含于PK51中的RTX51Tiny的组成部分。           参见事件一节获得更多关于K_IVL, K_TMO,和K_SIG的信息。 返回值 当一个或几个事件产生时,任务进入就绪态.任务恢复执行时, os_wait2的返回值见下面的常数列表:   返 回 值 描 述 RDY_EVENT 任务的就绪标志是被os_set_ready或isr_set_ready函数置位的 SIG_EVENT 收到一个信号 TMO_EVENT 返回时完成,或时间间隔到达 NOT_OK 参数event_sel的值无效   例子 见os_wait。
本文档为【RTX51_Tiny_中文手册】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_400070
暂无简介~
格式:doc
大小:101KB
软件:Word
页数:9
分类:互联网
上传时间:2011-12-15
浏览量:49