当前位置: 首页 > wzjs >正文

网站代码备份seo优化教程自学

网站代码备份,seo优化教程自学,手机网站如何开通微信公众号,测试软件界面设计1.定义任务数据结构,必须继承SST_Task父类,可以添加定时事件SST_TimeEvt类,和相关任务变量数据。typedef struct {SST_Task super; /* inherit SST_Task */SST_TimeEvt te_evt;//定时事件,系统自带的类uint16_t time_cnt; }task…

1.定义任务数据结构,必须继承SST_Task父类,可以添加定时事件SST_TimeEvt类,和相关任务变量数据。

typedef struct {
SST_Task super; /* inherit SST_Task */
SST_TimeEvt te_evt;//定时事件,系统自带的类
uint16_t   time_cnt;
}task_xxx_t;

2.定义任务的构造函数,初始化函数和执行函数。

static void Task_xxx_ctor(task_xxx_t * const me);
static void Task_xxx_init(task_xxx_t* const me, SST_Evt const * const ie);
static void Task_xxx_dispatch(task_xxx_t* const me, SST_Evt const * const e);

3.定义任务实例

static task_xxx_t task_xxx_inst; /* 定义任务实例*/
SST_Task * const AO_Task_xxx = &task_xxx_inst.super; /* 定义任务父类指针,用于创建任务 */
SST_Evt const *task_xxx_QSto[10]; /* 定义事件队列缓冲区,大小根据应用调整*/

4.在任务头文件中,定义事件信号宏, 这些宏会在其它接收事件的任务中需要用到。

enum xx_SIGNAL {
xxx_TIMEOUT_SIG,
xxx_SIG1,
xxx_SIG2,
xxx_SIG3


/* ... */
KEY_MAX_SIG  /* the last signal */
};

5.定义静态事件数组,事件信息不允许再更改。

static SST_Evt const xxx_sig[] = {
{
.sig = xxx_SIG1,
},
{
.sig = xxx_SIG2,
},
{
.sig = xxx_SIG3,
}
};

6.初始化任务操作

/**
* @brief  任务例程创建,调用构造函数,相当于将任务初始函数和执行函数注册到系统调度器中。
* @note

*/
void Task_xxx_instantiate(void) {
Task_xxx_ctor(&task_xxx_inst);
}
/**
* @brief  任务构造函数初始化
* @param  me: [in]任务指针
* @note

*/
static void Task_xxx_ctor(task_xxx_t * const me) {
SST_Task_ctor( &me->super,(SST_Handler)&Task_xxx_init,
(SST_Handler)&Task_xxx_dispatch);//注册初始化函数和执行函数
SST_TimeEvt_ctor(&me->te_evt, xxx_TIMEOUT_SIG, &me->super);//注册一个xxx_TIMEOUT_SIG事件信息


}
/**
* @brief  任务信号创建
* @param  me: [in]任务指针
* @param  ie: [in]事件信息指针,暂时不用。
* @note

*/
static void Task_xxx_init(task_xxx_t * const me, SST_Evt const * const ie){
(void)ie; /* unused parameter */
SST_TimeEvt_arm(&me->te_evt, 1U,  KEY_TICKS_PER_SEC);//第二个时间参数:延时多长时间开始执行,不能为0,第一个参数周期产生信号的时间参数

}

7.定义任务的执行函数

static void send_evt(void)
{
SST_Task_post(AO_receive_task,&xxx_sig[0]);//发送事件到其它任务中,第一个参数为接收事件的任务指针,第二个事件参数(在接收到任务的执行函数中会收到 xxx_SIG1事件信息)
}
static void Task_xxx_dispatch(task_xxx_t * const me, SST_Evt const * const e) {
switch (e->sig) {
case KEY_TIMEOUT_SIG: { //定时事件KEY_TIMEOUT_SIG 产生时,跳转到此执行。     

fun_handle();//伪造函数,在这里执行处理任务功能。
send_evt();//可以主动发送事件给到其它任务,可以发一个或多个事件。
break;
}


default: {


break;
}
}
}

8.在main.c主函数中创建任务

Task_XXX_instantiate();//创建任务实例
SST_Task_start(
AO_Task_XXX,     /* AO pointer to start */
1U,            /* SST-priority */
task_XXX_QSto,    /* storage for the AO's queue */
ARRAY_NELEM(task_XXX_QSto),   /* queue length */
(void *)0);    /* initialization event (not used) */

http://www.dtcms.com/wzjs/462614.html

相关文章:

  • 广东疫情长沙网站seo公司
  • 深圳专业医疗网站建设做网站建设的公司
  • 韩国网站模板前端seo是什么
  • 网站建设日期如何查询泉州关键词搜索排名
  • 网站查询功能是用什么程序做的手机做网页的软件
  • 网站开发人员绩效如何计算百度大盘指数
  • wordpress cx-udy主题长沙百度快速排名优化
  • 寻找专业网站建设今年疫情最新消息
  • 用bootstrap3做的网站满足seo需求的网站
  • 邢台做网站推广价格今日国内新闻热点
  • 用c做网站佛山seo整站优化
  • 东莞人才招聘信息网络优化seo
  • html网站建设方案广州关键词seo
  • 自己做网站接入微信和支付宝seo排名优化代理
  • 在福州的网站制作公司线上营销推广方式有哪些
  • 公司网站建设流程石家庄seo全网营销
  • 做百度竞价对网站有无要求培训机构最新消息
  • iis网站服务被禁用无锡网站推广公司
  • 如何做网站限制策略定制网站多少钱
  • 图书馆网站建设报告seo网站优化培训价格
  • wordpress页面如何显示分类seo怎么读
  • 网站制作的常见布局数字化营销怎么做
  • 湘潭做网站价格 q磐石网络廊坊网站
  • 有没有专门做图的网站网页制作的软件有哪些
  • 阿里云网站建设考试认证题东莞网站设计排行榜
  • 网站模板功能seo赚钱
  • 网页制作公司网站怎么优化
  • 曲阜做网站哪家好如何开一个自己的网站
  • 同制作网站一样都是在导航网站怎么推广
  • 长沙装修公司口碑seo公司哪家好