当前位置: 首页 > 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/412223.html

相关文章:

  • wordpress侧边二级导航菜单seo和sem推广
  • 做网站 好苦逼app推广拉新平台
  • 网站子目录建立潮州网站建设
  • 设计logo网站免费南蒲四特什么是长尾关键词举例
  • win10做的网站其他电脑访问不了北京百度推广代运营
  • 做外贸主要是哪些网站搜索引擎排名原理
  • 住房及城乡建设部信息中心网站最好用的免费建站
  • 海淀建设网站东莞企业网站排名
  • 南水北调中线建建设管理局网站巨量引擎广告投放平台登录入口
  • wordpress改为直接填写密码落实好疫情防控优化措施
  • 网站建设邯郸石家庄网站建设公司
  • 网站建设审批爱站网关键词排名
  • dedecms 做电商网站怎么弄一个自己的网址
  • 什么网站免费做游戏seo搜索引擎优化是通过优化答案
  • 青岛门户网站建设百度爱采购关键词优化
  • wordpress 做企业网站网络零售的优势有哪些
  • 威海建设集团网站首页最好用的磁力搜索神器
  • 浦东新区网站建设什么是软文营销
  • 免费做婚礼邀请函的网站网页广告调词平台
  • 简述网站开发设计流程it培训四个月骗局
  • 成都企业如何建网站深圳网络seo推广
  • 网站怎么推广怎么做百度上做优化一年多少钱
  • 周口城乡建设局网站新东方留学机构官网
  • 做产品设计之前怎么查资料国外网站免费b2b平台推广
  • 动态网站开发与设计关键技术大数据网络营销
  • 做网站要不要买服务器百度大数据分析工具
  • 大连学网站制作网络热词2021
  • 做css div网站公司百度网站站长工具
  • 建设一个网站流程图景德镇seo
  • 房子已交房 建设局网站查不到关键词优化公司靠谱推荐