wirebed任务之代码

wirebed添加一个任务时,任务的框架代码自动产生。下图为新建一个任务,并查看其自动生成的代码。

默认添加的空白任务代码如下

#include "globaltype.h"
#include "task.h"
#define xprintf(fmt, x) sysTrace(__wb_id, #x, fmt, x)

static const uint8_t __wb_id = 0;

/**********************************************************************
** task event define **
**********************************************************************/


/**********************************************************************
** task signal define **
**********************************************************************/


/**********************************************************************
** User Include, Variable and function Define **
**********************************************************************/

/**********************************************************************
** task slot define **
**********************************************************************/


/**********************************************************************
** task timer service (auto generate)**
**********************************************************************/
static void __wb_timer_service(void)
{
    
}

/**********************************************************************
** task init proc (auto generate)**
**********************************************************************/
static void __wb_task_init(void)
{
    
}

代码包括以下几部分

1.  头文件


#include "globaltype.h"
#include "task.h"
#define xprintf(fmt, x) sysTrace(__wb_id, #x, fmt, x)

1.1 globaltype.h

    是一个用户自定义的全局头文件,方便任务间共享数据结构。在code view视图中点击globaltype.h 即可编辑。导出代码的时候,会自动生成globaltype.h 头文件。

1.2 task.h

     wirebed核心的头文件,用户不能修改只能引用

1.3 xprintf 宏

   打印变量或者任务状态,和C语言标准printf函数一样的参数,不过xprintf必须有且一个参数。


xprintf("stuats","ok");
xprintf("%d\n",var);

2 任务id


static const uint8_t __wb_id = 0;

每个任务都有一个id在内部使用,用户无需直接使用。

3 事件定义

  默认的任务没有定义任何事件。一个任务可以有0-32个事件。


/**********************************************************************
** task event define **
**********************************************************************/


4 信号定义


/**********************************************************************
** task signal define **
**********************************************************************/



5 用户定义

   用户定义数据部分,可以引用头文件,定义变量 和 static 或者全局变量


/**********************************************************************
** User Include, Variable and function Define **
**********************************************************************/


6 槽定义


/**********************************************************************
** task slot define **
**********************************************************************/



7 定时器超时回调函数

   任务的定时回调函数名字是固定的,用户不能修改。


/**********************************************************************
** task timer service (auto generate)**
**********************************************************************/
static void __wb_timer_service(void)
{
    
}

8 任务初始化函数

   任务的初始化函数,wirebed框架启动的时候,首先调用任务的初始化函数 __wb_task_init, 如果有初始状态则调用初始状态的entry action函数。


/**********************************************************************
** task init proc (auto generate)**
**********************************************************************/
static void __wb_task_init(void)
{
    
}

猜你喜欢

转载自blog.csdn.net/qq20975717/article/details/81139130