事件标志组相关函数-倒数粗糙熵图像阈值化分割算法

时间:2024-06-29 05:03:03
【文件属性】:

文件名称:事件标志组相关函数-倒数粗糙熵图像阈值化分割算法

文件大小:6.12MB

文件格式:PDF

更新时间:2024-06-29 05:03:03

UCOSIII 教程

12.2 事件标志组相关函数 12.2.1 创建事件标志组 在使用事件标志组之前,需要调用函数 OSFlagCreate()创建一个事件标志组,OSFlagCreate() 函数原型如下。 void OSFlagCreate ( OS_FLAG_GRP *p_grp, CPU_CHAR *p_name, OS_FLAGS flags, OS_ERR *p_err) p_grp: 指向事件标志组,事件标志组的存储空间需要应用程序进行实际分配,我们可以 按照下面的例子来定义一个事件标志组。 OS_FLAG_GRP EventFlag; p_name: 事件标志组的名字。 flags: 定义事件标志组的初始值。 p_err: 用来保存调用此函数后返回的错误码。 12.2.2 等待事件标志组 等待一个事件标志组需要调用函数 OSFlagPend(),函数原型如下。 OS_FLAGS OSFlagPend ( OS_FLAG_GRP *p_grp, OS_FLAGS flags, OS_TICK timeout, OS_OPT opt, CPU_TS *p_ts, OS_ERR *p_err) OSFlagPend()允许将事件标志组里事件标志的“与或”组合状态设置成任务的等待条件。 任务等待的条件可以是标志组里任意一个标志置位或清零,也可以是所有事件标志都置位或清 零。如果任务等待的事件标志组不满足设置的条件,那么该任务被置位挂起状态,直到等待的 事件标志组满足条件、指定的超时时间到、事件标志被删除或另一个任务终止了该任务的挂起 状态。 p_grp: 指向事件标志组。 flags: bit 序列,任务需要等待事件标志组的哪个位就把这个序列对应的位置 1,根据设 置这个序列可以是 8bit、16bit 或者 32 比他。比如任务需要等待时间标志组的 bit0 和 bit1 时(无论是等待置位还是清零),flag 是的值就为 0X03。 timeout: 指定等待事件标志组的超时时间(时钟节拍数),如果在指定的超时时间内所等待 的一个或多个事件没有发生,那么任务恢复运行。如果此值设置为 0,则任务就将一 直等待下去,直到一个或多个事件发生。 opt: 决定任务等待的条件是所有标志置位、所有标志清零、任意一个标志置位还是任 意一个标志清零,具体的定义如下。 OS_OPT_PEND_FLAG_CLR_ALL 等待事件标志组所有的位清零 OS_OPT_PEND_FLAG_CLR_ANY 等待事件标志组中任意一个标志清零 OS_OPT_PEND_FLAG_SET_ALL 等待事件标志组中所有的位置位 OS_OPT_PEND_FLAG_SET_ANY 等待事件标志组中任意一个标志置位


网友评论